Ilia Mirkin
78ec9e28ec
nv30: always go through translate module on big-endian
...
It seems like things are either coming in slighly wrong, or perhaps
uploaded incorrectly, but either way passing them through the translate
module seems to fix everything. Eventually we should figure out what's
going wrong and fix it "for real", but this should do for now.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Cc: mesa-stable@lists.freedesktop.org
2015-10-04 21:50:41 -04:00
Ilia Mirkin
1fec05d114
nv30: pretend to have packed texture/surface formats
...
This puts us in line with what the DDX/DRI2 st are expecting. It also
happens to work... no idea why, but seems better to have it work than to
ask lots of questions.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Cc: mesa-stable@lists.freedesktop.org
2015-10-04 21:50:41 -04:00
Michel Dänzer
87c3c9acd2
st/dri: Use packed RGB formats
...
Fixes Gallium based DRI drivers failing to load on big endian hosts
because they can't find any matching fbconfigs.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71789
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Tested-by: Ilia Mirkin <imirkin@alum.mit.edu >
2015-10-04 21:50:31 -04:00
Timothy Arceri
763cd8c080
glsl: reduce memory footprint of uniform_storage struct
...
The uniform will only be of a single type so store the data for
opaque types in a single array.
Cc: Francisco Jerez <currojerez@riseup.net >
Cc: Ilia Mirkin <imirkin@alum.mit.edu >
2015-10-05 10:53:24 +11:00
Kenneth Graunke
b85757bc72
i965: Remove shader_prog from vec4_gs_visitor.
...
Unfortunately it has to stay in gen6_gs_visitor.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Matt Turner <mattst88@gmail.com >
2015-10-04 14:00:01 -07:00
Kenneth Graunke
21585048a2
i965: Use nir->has_transform_feedback_varyings to avoid shader_prog.
...
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Matt Turner <mattst88@gmail.com >
2015-10-04 14:00:01 -07:00
Kenneth Graunke
7768b802e5
nir: Add a nir_shader_info::has_transform_feedback_varyings flag.
...
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Matt Turner <mattst88@gmail.com >
2015-10-04 14:00:01 -07:00
Kenneth Graunke
5d7f8cb5a5
nir: Introduce new nir_intrinsic_load_per_vertex_input intrinsics.
...
Geometry and tessellation shaders process multiple vertices; their
inputs are arrays indexed by the vertex number. While GLSL makes
this look like a normal array, it can be very different behind the
scenes.
On Intel hardware, all inputs for a particular vertex are stored
together - as if they were grouped into a single struct. This means
that consecutive elements of these top-level arrays are not contiguous.
In fact, they may sometimes be in completely disjoint memory segments.
NIR's existing load_input intrinsics are awkward for this case, as they
distill everything down to a single offset. We'd much rather keep the
vertex ID separate, but build up an offset as normal beyond that.
This patch introduces new nir_intrinsic_load_per_vertex_input
intrinsics to handle this case. They work like ordinary load_input
intrinsics, but have an extra source (src[0]) which represents the
outermost array index.
v2: Rebase on earlier refactors.
v3: Use ssa defs instead of nir_srcs, rebase on earlier refactors.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com >
2015-10-04 14:00:01 -07:00
Kenneth Graunke
f2a4b40cf1
nir/lower_io: Make get_io_offset() return a nir_ssa_def * for indirects.
...
get_io_offset() already walks the dereference chain and discovers
whether or not we have an indirect; we can just return that rather than
computing it a second time via deref_has_indirect(). This means moving
the call a bit earlier.
By returning a nir_ssa_def *, we can pass back both an existence flag
(via NULL checking the pointer) and the value in one parameter. It
also simplifies the code somewhat. nir_lower_samplers works in a
similar fashion.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com >
2015-10-04 14:00:01 -07:00
Timothy Arceri
6994ca20aa
glsl: fix whitespace
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
2015-10-04 17:42:41 +11:00
Marek Olšák
814b7d1ab9
radeonsi: enable PIPE_CAP_FORCE_PERSAMPLE_INTERP
...
Now st/mesa won't generate 2 variants for this state.
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
2015-10-03 22:06:09 +02:00
Marek Olšák
b3c55fc669
radeonsi: do force_persample_interp in shaders for non-trivial cases
...
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
2015-10-03 22:06:09 +02:00
Marek Olšák
9652bfcf2d
radeonsi: implement the simple case of force_persample_interp
...
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
2015-10-03 22:06:09 +02:00
Marek Olšák
214de2d815
radeonsi: move SPI_PS_INPUT_ENA/ADDR registers to a separate state
...
This will be a derived state used for changing center->sample and
centroid->sample at runtime.
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
2015-10-03 22:06:09 +02:00
Marek Olšák
55d406b71e
tgsi/scan: add interpolation info into tgsi_shader_info
...
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
2015-10-03 22:06:09 +02:00
Marek Olšák
6b0f21cb28
st/mesa: automatically set per-sample interpolation if using SampleID/Pos
...
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
2015-10-03 22:06:09 +02:00
Marek Olšák
4e9fc7e4e2
st/mesa: set force_persample_interp if ARB_sample_shading is used
...
This is only a half of the work. The next patch will handle
gl_SampleID/SamplePos, which is the other half of ARB_sample_shading.
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
2015-10-03 22:06:09 +02:00
Marek Olšák
f3b37e321f
gallium: add per-sample interpolation control into rasterizer statOAe
...
Required by ARB_sample_shading for drivers that don't want a shader variant
in st/mesa.
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Acked-by: Roland Scheidegger <sroland@vmware.com >
2015-10-03 22:06:09 +02:00
Marek Olšák
d8932a355d
st/mesa: add ST_DEBUG=precompile support for tessellation shaders
...
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
2015-10-03 22:06:09 +02:00
Marek Olšák
dd340b34f3
mesa: remove Driver.BindImageTexture
...
Nothing sets it.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
2015-10-03 22:06:09 +02:00
Marek Olšák
92709dcb9b
mesa: remove Driver.DeleteSamplerObject
...
Nothing overrides it.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
2015-10-03 22:06:09 +02:00
Marek Olšák
00f6beed02
mesa: remove Driver.EndCallList
...
Nothing overrides it.
Reviewed-by: Brian Paul <brianp@vmware.com >
2015-10-03 22:06:09 +02:00
Marek Olšák
ef6c0714af
mesa: remove Driver.BeginCallList
...
Nothing overrides it.
Reviewed-by: Brian Paul <brianp@vmware.com >
2015-10-03 22:06:09 +02:00
Marek Olšák
f457964885
mesa: remove Driver.EndList
...
Nothing overrides it.
Reviewed-by: Brian Paul <brianp@vmware.com >
2015-10-03 22:06:09 +02:00
Marek Olšák
55735cad00
mesa: remove Driver.NewList
...
Nothing overrides it.
Reviewed-by: Brian Paul <brianp@vmware.com >
2015-10-03 22:06:09 +02:00
Marek Olšák
7a54939728
mesa: remove Driver.NotifySaveBegin
...
Nothing overrides it.
Reviewed-by: Brian Paul <brianp@vmware.com >
2015-10-03 22:06:09 +02:00
Marek Olšák
4b8bb2f559
mesa: remove Driver.SaveFlushVertices
...
Nothing overrides it.
Reviewed-by: Brian Paul <brianp@vmware.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
72a5dff9cb
mesa: remove Driver.FlushVertices
...
Nothing overrides it.
Reviewed-by: Brian Paul <brianp@vmware.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
91799880b3
mesa: remove Driver.BeginVertices
...
Nothing overrides it.
Reviewed-by: Brian Paul <brianp@vmware.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
82a950f187
mesa: remove Driver.BindArrayObject
...
Nothing sets it.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
d1269a844f
mesa: remove Driver.DeleteArrayObject
...
Nothing reimplements it.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
7401807e8d
mesa: remove Driver.NewArrayObject
...
Nothing reimplements it.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
1044f99812
mesa: remove Driver.Hint
...
Nothing sets it.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
8de82faf95
mesa: remove Driver.ColorMaskIndexed
...
Nothing sets it.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
379255298f
mesa: remove some Driver.Blend* hooks
...
Nothing sets them.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
a6cc895e93
mesa: remove Driver.Accum
...
Nothing calls it.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
a4fca24484
mesa: remove Driver.ResizeBuffers
...
Nothing overrides it.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
6863d5b02a
mesa: remove Driver.DeleteShaderProgram
...
Nothing overrides it.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
b37dcb8c18
mesa: remove Driver.NewShaderProgram
...
Nothing overrides it.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
95e0303312
mesa: remove Driver.DeleteShader
...
Nothing overrides it.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
18123a732b
egl/dri2: don't require a context for ClientWaitSync (v2)
...
The spec doesn't require it. This fixes a crash on Android.
v2: don't set any flags if ctx == NULL
v3: add the spec note
Cc: 10.6 11.0 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Albert Freeman <albertwdfreeman@gmail.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
b78336085b
st/dri: don't use _ctx in client_wait_sync
...
Not needed and it can be NULL.
v2: fix dri2_get_fence_from_cl_event - thanks Albert
Cc: 10.6 11.0 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Albert Freeman <albertwdfreeman@gmail.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
27b102e7fd
r600g: only do depth-only or stencil-only in-place decompression
...
instead of always doing both.
Usually, only depth is needed, so stencil decompression is useless.
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
c23c92c965
radeonsi: only do depth-only or stencil-only in-place decompression
...
instead of always doing both.
Usually, only depth is needed, so stencil decompression is useless.
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
5804c6adf8
gallium/radeon: add separate stencil level dirty flags
...
We will only do depth-only or stencil-only decompress blits, whichever is
needed by textures, instead of always doing both.
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
cc92b90375
radeonsi: dump buffer lists while debugging
...
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
2015-10-03 22:06:08 +02:00
Marek Olšák
eb55610c89
winsys/radeon: implement cs_get_buffer_list
...
This is more complicated, because tracking priority_usage needed changing
the relocs_bo type.
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
2015-10-03 22:06:07 +02:00
Marek Olšák
6f48e2bee1
winsys/amdgpu: add winsys function cs_get_buffer_list
...
For debugging.
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
2015-10-03 22:06:07 +02:00
Marek Olšák
93641f4341
gallium/radeon: stop using "reloc" in a few places
...
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
2015-10-03 22:06:07 +02:00
Marek Olšák
2edb060639
gallium/radeon: tell the winsys the exact resource binding types
...
Use the priority flags and expand them.
This information will be used for debugging.
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
2015-10-03 22:06:07 +02:00