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
Chad Versace
6a40af1b08
vk/0.170.2: Update VkPipelineMultisampleStateCreateInfo
2015-10-04 10:00:25 -07:00
Chad Versace
dd04be491d
vk/0.170.2: Update Vk VkPipelineDepthStencilStateCreateInfo
...
Rename member depthBoundsEnable -> depthBoundsTestEnable.
2015-10-04 09:41:46 -07:00
Chad Versace
8cb2e27c62
vk/0.170.2: Update VkRenderPassBeginInfo
...
Rename members:
attachmentCount -> clearValueCount
pAttachmentClearValues -> pClearValues
2015-10-04 09:26:25 -07:00
Chad Versace
3694518be5
vk/0.170.2: Drop VkBufferViewCreateInfo::viewType
2015-10-04 09:14:57 -07:00
Chad Versace
216d9f248d
vk: Copy current header to vulkan-0.138.2.h
...
While upgrading Mesa to the new 0.170.2 API, it's convenient to have all
three headers available in the tree:
- vulkan-0.138.2.h, the old one
- vulkan-0.170.2.h, the new one
- vulkan.h, the one in transition
2015-10-04 09:09:35 -07:00
Chad Versace
7f18ed4b9f
vk: Import header 0.170.2 header LunarG SDK
...
From the LunarG SDK at tag sdk-0.9.1, import vulkan.h as
vulkan-0.170.2.h. This header is the first provisional header with the
addition of minor fixes.
2015-10-04 09:09:31 -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