URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bebf672fc76cc306e95b98444066ea8299754704
Author: Derek Foreman <[email protected]>
Date: Tue Jan 10 15:21:47 2017 -0600
egl/dri2: add image_loader_extension back into loader extensions for wayland
before commit f871946594129500a67c05a6d9fe99db54b4bb64
image_loader_extension was always present in dri2_dpy->extensions,
after that commit it is only present for render nodes.
Its removal broke partial render based on buffer age on (at least)
raspberry pi.
Fixes: f8719465941 "egl/dri2: rework dri2_egl_display::extensions storage"
Signed-off-by: Derek Foreman <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
(cherry picked from commit 534ea2b5ba0282a350dc02d21bfbc8ffa1f8635d)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b0715f05f2885a84aafb0c6241f052e15c402fa
Author: Vinson Lee <[email protected]>
Date: Sun Nov 13 22:53:54 2016 -0800
util: Fix Clang trivial destructor check.
Check for Clang before GCC.
Clang defines __GNUC__ == 4 and __GNUC_MINOR__ == 2 and matches the GCC
check but not the GCC version for trivial destructor.
Fixes: 98ab905af0e0 ("mesa: Define introspection macro to determine
whether a type is trivially destructible.")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98526
Signed-off-by: Vinson Lee <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Edward O'Callaghan <[email protected]>
Reviewed-by: Francisco Jerez <[email protected]>
(cherry picked from commit ed6694d5114e81cf1c413aec8265ddc8a5c52599)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=06b96072c7ffed51854b6ca18bf74da61c2a6d43
Author: Vinson Lee <[email protected]>
Date: Mon Oct 24 16:33:01 2016 -0700
scons: Require libdrm >= 2.4.66 for DRM.
configure.ac already requires 2.4.66.
Fix SCons build. drmDevicePtr is not available until libdrm 2.4.65.
Compiling src/loader/loader.c ...
src/loader/loader.c:111:40: error: unknown type name ‘drmDevicePtr’
static char *drm_construct_id_path_tag(drmDevicePtr device)
^
Fixes: 4a183f4d06f8 ("scons: loader: use libdrm when available")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98421
Signed-off-by: Vinson Lee <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
Reviewed-by: Vedran Miletić <[email protected]>
(cherry picked from commit f2770fb3d5e7a4a456f8f14726f72a1e37496419)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2248d245090032fc8123d9e2be2da150ac295f76
Author: Emil Velikov <[email protected]>
Date: Sat Feb 11 16:47:56 2017 +0000
bin/get-fixes-pick-list.sh: add new script
The script parses the "Fixes" tags and nominates respective commit if
applicable.
Cc: "13.0 17.0" <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit 389478c4e904f5d2c82485e56bdcb0195f1850d0)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=32cf2344c12a97c9d2531209c1b9ce1a641e6cf0
Author: Emil Velikov <[email protected]>
Date: Mon Feb 13 01:37:55 2017 +0000
bin/get-pick-list.sh: remove ancient way of nominating patches
The old way of nominating patches [NOTE: .*[Cc]andidate] was
deprecated and has been unused for approx. 3 years.
Cc: "13.0 17.0" <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit f1b0b75099c7bdcc1a96ffcf9505e255ab57ee4c)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a05089106ba482fa8d47fcc25d94e9016a8f1135
Author: Emil Velikov <[email protected]>
Date: Mon Feb 13 00:37:03 2017 +0000
bin/get-pick-list.sh: limit `git grep ...' only as needed
Analogous to previous commit.
Cc: "13.0 17.0" <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit d6b1d11d4f58c3934a75446cfdf415407e65b3af)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=dfe79fc3f111fc88036b35b86a69df8d8ca0d669
Author: Emil Velikov <[email protected]>
Date: Mon Feb 13 00:32:21 2017 +0000
bin/get-typod-pick-list.sh: limit `git grep ...' to only as needed
The currently used range HEAD..origin/master is far too broad. It looks
for nominations within the already_landed list (branchpoint..HEAD).
Similarly we look for already_landed whiting the [possible] nominations
Rand branchpoint..origin/master.
Improve things by limiting the look ups to the branch point.
Cc: "13.0 17.0" <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit d292f12d94b0a940e4534451f62d5afed812374b)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=dad81f4cd02ebb9102e75291a9998d6233011f4f
Author: Emil Velikov <[email protected]>
Date: Sat Feb 11 12:45:21 2017 +0000
bin/get-extra-pick-list: rework to use already_picked list
Currently we loop (git log --grep) to check if the fix has landed. We
can simplify and make things faster by storing the already_picked list
and grep ping through it.
Slim down the message while we're here.
Cc: "13.0 17.0" <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit 71e00d62ed2228a773a4f5abff98a16961e7f21c)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=61d7a9dc21df111440079afc8da2f26da59eb369
Author: Emil Velikov <[email protected]>
Date: Mon Feb 13 00:13:55 2017 +0000
bin/get-extra-pick-list: use git merge-base to get the branchpoint
Since mesa development history is linear and the only diversion is at
the branchpoint. Thus we can drop the ad-hoc parsing and use git
merge-base to retrieve it.
Cc: "13.0 17.0" <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit cb1947eac70f63d78835a5442017b1f3b7099d77)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=279604b4fa36f0a7a8947a14dff60cd5644ffb74
Author: Hans de Goede <[email protected]>
Date: Mon Feb 6 12:13:17 2017 +0100
glx/glvnd: Fix GLXdispatchIndex sorting
Commit 8bca8d89ef3b ("glx/glvnd: Fix dispatch function names and indices")
fixed the sorting of the array initializers in g_glxglvnddispatchfuncs.c
because FindGLXFunction's binary search needs these to be sorted
alphabetically.
That commit also mostly fixed the sorting of the DI_foo defines in
g_glxglvnddispatchindices.h, which is what actually matters as the
arrays are initialized using "[DI_foo] = glXfoo," but a small error
crept in which at least causes glXGetVisualFromFBConfigSGIX to not
resolve, breaking games such as "The Binding of Isaac: Rebirth" and
"Crypt of the NecroDancer" from Steam not working and possible causes
other problems too.
This commit fixes the last of the sorting errors, fixing these mentioned
games not working.
Fixes: 8bca8d89ef3b ("glx/glvnd: Fix dispatch function names and indices")
Cc: "13.0" <[email protected]>
Cc: "17.0" <[email protected]>
Cc: Adam Jackson <[email protected]>
Signed-off-by: Hans de Goede <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit 4c66f529a8ea4cc7589c1e3760894793c666e9b2)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0e460c7b724dba9da7c546ee4c1ad1b09ef75b7
Author: Dave Airlie <[email protected]>
Date: Mon Feb 13 22:45:20 2017 -0500
radv: adopt some init config workarounds from radeonsi.
Just one bonaire fix.
Reviewed-by: Edward O'Callaghan <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: "13.0 17.0" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 09bf5491c4611e83d2ec745dc0e727bcdb0b31aa)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f00bc877a23f7609874c9722684903f4de93ed40
Author: Dave Airlie <[email protected]>
Date: Tue Feb 14 16:05:43 2017 +1000
radv: fix cik macroModeIndex.
This just a CIK fix ported from radeonsi.
Tested-by: Kai Wasserbäch <[email protected]>
Reviewed-by: Edward O'Callaghan <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: "13.0 17.0" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 0f1a4220a693a02685bf227f8b9d932046f7d1d3)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c3365b06aca867a2e6c2ae7cd3ba61e3756d081a
Author: Dave Airlie <[email protected]>
Date: Tue Feb 14 16:04:16 2017 +1000
radv: change base aligmment for allocated memory.
On some CIK (Hawaii) this needs to be at least 64k, I'm not 100% sure
it doesn't need to be 128k.
This was causing fast clear eliminate to overwrite the previous buffer,
which since my gfx init code, was the indirect buffer.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=99692
Tested-by: Kai Wasserbäch <[email protected]>
Reviewed-by: Edward O'Callaghan <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: "13.0 17.0" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 06ffd299252311f57feac4474551bd5b44d3d4d4)
[Emil Velikov: resolve trivial conflicts]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/amd/vulkan/radv_device.c
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2bdb22fdaaf3ce8146c08dcb65d64318ddb830f5
Author: Jason Ekstrand <[email protected]>
Date: Mon Feb 6 19:48:46 2017 -0800
i965/sampler_state: Set the "Base Mip Level" field on Sandy Bridge
Fixes two GL ES 3.0 CTS tests on Sandy Bridge:
ES3-CTS.functional.texture.mipmap.cube.base_level.linear_linear
ES3-CTS.functional.texture.mipmap.cube.base_level.linear_nearest
Reviewed-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Cc: "17.0 13.0" <[email protected]>
(cherry picked from commit c59d1ea51bd0809761094e54c66bf3a200d964ff)
[Emil Velikov: resolve trivial conflicts]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/mesa/drivers/dri/i965/brw_sampler_state.c
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bbe50d9b0378ffcf10c7ec96efdd763a92b010ba
Author: Jason Ekstrand <[email protected]>
Date: Mon Feb 6 19:46:22 2017 -0800
i965/sampler_state: Pass texObj into update_sampler_state
Reviewed-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Cc: "17.0 13.0" <[email protected]>
(cherry picked from commit c4f8f395b291a88eb74b07b90a4028ef4f026f58)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0683feb18ca4f6010e0714d398d2fc90d3c25413
Author: Eric Anholt <[email protected]>
Date: Mon Feb 6 17:30:59 2017 -0800
vc4: Avoid emitting small immediates for UBO indirect load address guards.
The kernel will reject our shader if we emit one here, and having 4, 8, or
12 as the top end of our UBO clamp rare is enough that it's not worth
making the kernel let us.
Fixes piglit fs-const-array-of-struct and
fs-const-array-of-struct-of-array since recent GLSL linking changes made
us get this as an indirect load of a uniform, instead of a tempoary.
Cc: "13.0 17.0" <[email protected]>
(cherry picked from commit b2309393039b2ec0cc00a8e6fd828c60c4ef1e11)
[Emil Velikov: resolve trivial conflicts]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/gallium/drivers/vc4/vc4_opt_small_immediates.c
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7d172c6c356b6e2257162c09c4560d3b02ce42d4
Author: Marek Olšák <[email protected]>
Date: Thu Feb 9 03:14:22 2017 +0100
gallium/radeon: fix performance of buffer readbacks
We want cached GTT for all non-persistent read mappings.
Set level = 0 on purpose.
Use dma_copy, because resource_copy_region causes a failure in the PBO
read of piglit/getteximage-luminance.
If Rocket League used the READ flag, it should get cached GTT.
v2: mask out UNSYNCHRONIZED
Cc: 13.0 17.0 <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
(cherry picked from commit d86099df0af7c22c8acfd48b38ad446d9c8df6bd)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f562f57646dd6001929a7138f41425bf03714127
Author: Marc-André Lureau <[email protected]>
Date: Thu Feb 9 18:41:11 2017 +0400
tgsi-dump: dump label if instruction has one
The instruction has an associated label when Instruction.Label == 1,
as can be seen in ureg_emit_label() or tgsi_build_full_instruction().
This fixes dump generating extra :0 labels on conditionals, and virgl
parsing more than the expected tokens and eventually reaching "Illegal
command buffer" (when parsing more than a safety margin of 10 we
currently have).
Signed-off-by: Marc-André Lureau <[email protected]>
Cc: "13.0 17.0" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit dc2d9b8da14b97376cca9c87e2408763b11bdaa7)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4e2c60858eacffc0ec67b2f5716d4a66e66b2bc
Author: Lionel Landwerlin <[email protected]>
Date: Thu Jan 26 16:57:40 2017 +0000
spirv: handle undefined components for OpVectorShuffle
Fixes:
dEQP-VK.spirv_assembly.instruction.compute.opspecconstantop.vector_related
dEQP-VK.spirv_assembly.instruction.graphics.opspecconstantop.vector_related*
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Cc: "17.0 13.0" <[email protected]>
(cherry picked from commit bbe8705c579c3e464615a0ca9b2eb4bd3c16aad3)
[Emil Velikov: resolve trivial conflicts]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/compiler/spirv/spirv_to_nir.c
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b18c791a64e3fad564724ba977d20192ed0cc35c
Author: Ian Romanick <[email protected]>
Date: Tue Dec 13 20:33:08 2016 -0800
linker: Accurately mark a uniform block instance array element as used in a
stage
Now that information about which array-of-arrays elements are accessed
is tracked, use that information to only mark an instance array element
as used-by-stage if, in fact, it is.
Fixes GL45-CTS.program_interface_query.uniform-block-types.
Signed-off-by: Ian Romanick <[email protected]>
Cc: [email protected]
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit ceea514d9192a71b9be87b50b2c63303a54331f9)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=010886b12055d3b53dd81133a6f4a32a08240e8d
Author: Ian Romanick <[email protected]>
Date: Thu Dec 15 14:26:24 2016 -0800
glsl: Walk a list of ir_dereference_array to mark array elements as accessed
Signed-off-by: Ian Romanick <[email protected]>
Cc: [email protected]
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit d32956935edf06c8ae6872c707bc65187b4a1d15)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=473319075b8f5e102468d91a7818110882da4886
Author: Ian Romanick <[email protected]>
Date: Thu Dec 15 14:01:28 2016 -0800
glsl: Mark a set of array elements as accessed using a list of
array_deref_range
Signed-off-by: Ian Romanick <[email protected]>
Cc: [email protected]
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit e92935089bd9a987027d1f0791e7298bb3a57113)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0288655ce7983af9e10bf95aced2594aaa75c3dd
Author: Ian Romanick <[email protected]>
Date: Tue Dec 13 20:31:19 2016 -0800
glsl: Add structures to track accessed elements of a single array
Signed-off-by: Ian Romanick <[email protected]>
Cc: [email protected]
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit 8d499f60c88b70a39f53d0fbe96a6ada6fd36b8b)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=64f24795b9d99a11011e391256e91ac4baa6df4d
Author: Ian Romanick <[email protected]>
Date: Tue Dec 13 20:29:23 2016 -0800
glsl: Add tracking for elements of an array-of-arrays that have been
accessed
If there's a better way to provide access to ir_array_refcount_entry
private members to the test functions, I am very interested to know
about it.
Signed-off-by: Ian Romanick <[email protected]>
Cc: Francisco Jerez <[email protected]>
Cc: [email protected]
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit b7053b80f27091acc8ccc954db99197e3073bff4)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=784b362767a238bd42714b795c119ffa25edf0d2
Author: Ian Romanick <[email protected]>
Date: Mon Dec 12 13:37:46 2016 -0800
glsl: Use simpler visitor to determine which UBO and SSBO blocks are used
Very soon this visitor will get more complicated. The users of the
existing ir_variable_refcount visitor won't need the coming
functionality, and this use doesn't need much of the functionality of
ir_variable_refcount.
v2: ir_array_refcount_visitor::get_variable_entry cannot return NULL, so
don't check it. Suggested by Timothy.
Signed-off-by: Ian Romanick <[email protected]>
Cc: [email protected]
Reviewed-by: Timothy Arceri <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit 5085b640313f806150729a197c438a0cfea35f49)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3abc96823621f245c34e24ff6e22f9f51f523214
Author: Ian Romanick <[email protected]>
Date: Mon Dec 12 12:24:18 2016 -0800
glsl: Track the linearized array index for each UBO instance array element
v2: Set linearizer_array_index in process_block_array_leaf. Suggested
by Timothy.
Signed-off-by: Ian Romanick <[email protected]>
Cc: [email protected]
Reviewed-by: Timothy Arceri <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit d56bd07bb3b6821eca961dde15c40f179be99e2d)
[Emil Velikov: resolve trivial conflicts]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/compiler/glsl/link_uniform_blocks.cpp
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=efe15de5667c62894909dd4f98b9697e23d9af72
Author: Ian Romanick <[email protected]>
Date: Mon Dec 12 11:58:06 2016 -0800
glsl: Fix wonkey indentation left from previous commit
Signed-off-by: Ian Romanick <[email protected]>
Cc: [email protected]
Reviewed-by: Timothy Arceri <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit 300de78ab17433ea05f39013c9eede6a851bcb24)
[Emil Velikov: resolve trivial conflicts]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/compiler/glsl/link_uniform_blocks.cpp
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=91df6e8aed0d6f6d9d1c04675ba8d04768e03fb6
Author: Ian Romanick <[email protected]>
Date: Mon Dec 12 11:54:41 2016 -0800
glsl: Split process_block_array into two functions
One for the array parts and one for the leaf members. This will
simplify later changes.
The indentation is wonkey after this patch. This was done to make it
more obvious that the function is just getting split. The next patch
will fix the indentation.
Signed-off-by: Ian Romanick <[email protected]>
Cc: [email protected]
Reviewed-by: Timothy Arceri <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit 8862fefba068d07d04b08abd0a0bd09d59a04cdc)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=00d22990077b3bec0dc39a21f1509a545ed21cd5
Author: Ian Romanick <[email protected]>
Date: Mon Nov 7 15:59:35 2016 -0800
linker: Accurately track gl_uniform_block::stageref
As the linked per-stage shaders are processed, mark any block that has a
field that is accessed as referenced. When combining all the linked
shaders, combine the per-stage stageref masks.
This fixes a number of GLES CTS tests:
ES31-CTS.core.geometry_shader.program_resource.program_resource
ES32-CTS.core.geometry_shader.program_resource.program_resource
ESEXT-CTS.geometry_shader.program_resource.program_resource
piglit.gl45-cts.geometry_shader.program_resource.program_resource
However, it makes quite a few more fail:
ES31-CTS.functional.program_interface_query.buffer_variable.random.6
ES31-CTS.functional.program_interface_query.buffer_variable.referenced_by.compute.unnamed_block.float
ES31-CTS.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.unnamed_block.float
ES31-CTS.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_fragment.unnamed_block.float
ES31-CTS.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment.unnamed_block.float
ES31-CTS.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_fragment.unnamed_block.float
ES31-CTS.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment.unnamed_block.float
ES31-CTS.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_fragment_only_fragment.unnamed_block.float
ES31-CTS.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_fragment.unnamed_block.float
ES31-CTS.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_fragment.unnamed_block.float
ES31-CTS.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment.unnamed_block.float
ES32-CTS.functional.program_interface_query.buffer_variable.random.6
ES32-CTS.functional.program_interface_query.buffer_variable.referenced_by.compute.unnamed_block.float
ES32-CTS.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.unnamed_block.float
ES32-CTS.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_fragment.unnamed_block.float
ES32-CTS.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment.unnamed_block.float
ES32-CTS.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_fragment.unnamed_block.float
ES32-CTS.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment.unnamed_block.float
ES32-CTS.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_fragment_only_fragment.unnamed_block.float
ES32-CTS.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_fragment.unnamed_block.float
ES32-CTS.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_fragment.unnamed_block.float
ES32-CTS.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment.unnamed_block.float
I have diagnosed the failures, but I'm not sure whether we or the
tests are wrong. After optimizations are applied, all of the tests
are of the form:
buffer X {
float f;
} x;
void main()
{
x.f = x.f;
}
The test then queries that x is referenced by that shader stage. We
eliminate the assignment of x.f to itself, and that removes the last
reference to x. We report that x is not referenced, and the test fails.
I do not know whether or not we are allowed to eliminate that assignment
of x.f to itself.
After discussions with the OpenGL ES group in Khronos, we believe that
Mesa's behavior is correct. I will provide patches to the CTS tests
to Khronos.
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit 084105c213dbf4c309453b33a966aac6ae9242f3)
[Emil Velikov: nominate considering the above fixes and it's a
requirement for the following nine patches]
Nominated-by: Emil Velikov <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed48242e0529bc0e19bfb0f31ecad000597f4334
Author: Ian Romanick <[email protected]>
Date: Mon Nov 7 15:54:46 2016 -0800
linker: Slight code rearrange to prevent duplication in the next commit
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
(cherry picked from commit 392fabcfee489c294dad5bed0bb57a2c61322e4d)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=01ac2d3c5c57a8c25b362f2ea41eb5833bc10641
Author: Chad Versace <[email protected]>
Date: Fri Dec 16 12:06:40 2016 -0800
i965/mt: Disable HiZ when sharing depth buffer externally (v2)
intel_miptree_make_shareable() discarded and disabled CCS. Fix it so
that it discards and disables HiZ too.
Fixes
dEQP-EGL.functional.image.render_multiple_contexts.gles2_renderbuffer_depth16_depth_buffer
on Skylake.
v2: Actually do what the commit message says. Discard the HiZ buffer.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=98329
Reviewed-by: Topi Pohjolainen <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
Cc: Nanley Chery <[email protected]
Cc: Haixia Shi <[email protected]>
(cherry picked from commit 42011be1e27f59d750b781c10766e19ec0ee6ff5)
[Emil Velikov: patch is a backport by Chad of above commit]
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1770ba4d8fa7944204b70f4d0e91e93b18ea2e2e
Author: Topi Pohjolainen <[email protected]>
Date: Tue Jan 17 11:48:49 2017 +0200
i965/gen6: Issue direct depth stall and flush after depth clear
instead of calling unconditionally brw_emit_mi_flush() which
does:
brw_emit_pipe_control_flush(brw,
PIPE_CONTROL_DEPTH_CACHE_FLUSH |
PIPE_CONTROL_RENDER_TARGET_FLUSH |
PIPE_CONTROL_CS_STALL);
brw_emit_pipe_control_flush(brw,
PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE |
PIPE_CONTROL_CONST_CACHE_INVALIDATE);
Signed-off-by: Topi Pohjolainen <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
(cherry picked from commit 46b346899d98e29943f8cd74c25bcb8d2f868a49)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=60662cf26e043b73c91a3b84611a90d4fe5e5126
Author: Topi Pohjolainen <[email protected]>
Date: Tue Jan 17 11:44:52 2017 +0200
i965: Make depth clear flushing more explicit
Current blorp logic issues unconditional "flush everything"
(see brw_emit_mi_flush()) after each render. For example, all
blits issue this unconditionally which shouldn't be needed if
they set render cache properly so that subsequent renders do
necessary flushing before drawing.
In case of piglit:
ext_framebuffer_multisample-accuracy all_samples depth_draw small
intel_hiz_exec() is always preceded by blorb blit and the
unconditional flush looks to hide the lack of stall and flushes
in depth clears. By removing the brw_emit_mi_flush() I get gpu
hangs.
This patch adds the stalls and flushes mandated by the spec
and gets rid of those hangs.
v2 (Jason, Ken): Document the rational for separating
depth cache flush and stall on Gen7.
Signed-off-by: Topi Pohjolainen <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
(cherry picked from commit e6da6943fed1228c551af1f0e1a405b6d67b41ae)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fada7e5fdad940c1e22481230d1fb77206583fb5
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:49 2017 +0000
mesa/tests: automake: include builddir prior to srcdir
Analogous to previous commit.
Cc: "12.0 13.0" <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit 091f2b8c98937138c17a1ddf4b16d17f31a20020)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc5ac1404c674878201f7390b0c3cd946c56d683
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:48 2017 +0000
dri/osmesa: automake: include builddir prior to srcdir
Analogous to previous commit.
Cc: "12.0 13.0" <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit 6ba96bdcabc4c9c89827603907aba1b7dd5e9972)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5c7fcaacd94752e3fb01a71afed33ca60612d519
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:47 2017 +0000
dri/swrast: automake: include builddir prior to srcdir
Analogous to previous commit.
Cc: "12.0 13.0" <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit ede4ff9adc5653db56e7edac53c012fc431647dc)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=61e3b6d30932669607d00a966ef6a538be3e3e7b
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:46 2017 +0000
radeon, r200: automake: include builddir prior to srcdir
Analogous to previous commit.
Cc: "12.0 13.0" <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit 5a0ba1e5de088bf71bc407db9837235b18dca936)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=de2402aafb908ef89146f751193bd93696fc03cd
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:45 2017 +0000
mapi: automake: include builddir prior to srcdir
Analogous to previous commit.
Cc: "12.0 13.0" <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit ee5de93269cee8abec2dd4d938c5e745983bf98e)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6086a15f1a1481f99def13a57003f340789b4256
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:44 2017 +0000
loader: automake: include builddir prior to srcdir
Analogous to previous commit.
Cc: "12.0 13.0" <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit af860850a0c4096f9bb27faa4d9c0061fb437a9b)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=70a8715ea7e1a5e68d3c6d64e9e1957081e121fa
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:43 2017 +0000
glx/windows: automake: include builddir prior to srcdir
Analogous to previous commit.
Cc: "12.0 13.0" <[email protected]>
Cc: Jon Turney <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit 912b4f5472007dbd06c922cb1c315cb4814c4010)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0d934e4a3964eafda87ff8b636c74a25ae21cd46
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:42 2017 +0000
glx/apple: automake: include builddir prior to srcdir
Analogous to previous commit.
Cc: "12.0 13.0" <[email protected]>
Cc: Jeremy Huddleston Sequoia <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Jeremy Sequoia <[email protected]>
(cherry picked from commit 5b874cee099122bc9c0625254895e63843ae2260)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=40a92fd51868dac7bd3f9b3e05dce60a49651174
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:41 2017 +0000
glx: automake: include builddir prior to srcdir
Analogous to previous commit.
Cc: "12.0 13.0" <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit d66f9e6d930a9fcfa23129dce18d5359cc6e00f4)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1815ff6a2f353f6f97ba1b4b4de86ddce283f2e
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:40 2017 +0000
d3dadapter9: automake: include builddir prior to srcdir
Analogous to previous commit.
Cc: "12.0 13.0" <[email protected]>
Cc: Axel Davy <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit d221bf9b91900c62069cc447dc214c04a9e5261c)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f332448ef508fd7bfb3678e2089fc3b07f74bdd6
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:39 2017 +0000
st/dri: automake: include builddir prior to srcdir
Analogous to previous commit.
Cc: "12.0 13.0" <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit 517f34b4be0ac4a5a508ccb6dcaeca3c975585b0)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a8ba39aba6416a4c37b7daa7caec493e48cea23a
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:37 2017 +0000
clover: automake: include builddir prior to srcdir
Analogous to previous commit.
Cc: "12.0 13.0" <[email protected]>
Cc: Aaron Watry <[email protected]>
Cc: Francisco Jerez <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit 65d5a60caca632a7c03cd1dc554645f27f408f37)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8230e841a33e9061f5af0b4cc8721a258b72935
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:36 2017 +0000
egl: automake: include builddir prior to srcdir
Analogous to previous commit.
Cc: "12.0 13.0" <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit c5921ae0d2fc37699c7ebbd693a2e850a5371204)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1ad22360d82255da326afae96e66274ec13fcea
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:35 2017 +0000
i915: automake: include builddir prior to srcdir
Analogous to previous commit.
Cc: "12.0 13.0" <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit 90ac5c339e2c360712d663e3eab76c4a4abf2487)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=585d8777b04721b90b9334b0de9a335bd08cb07f
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:34 2017 +0000
i965: automake: include builddir prior to srcdir
The latter can contain stale generated file, which, as-is, we'll end up
using.
Fixes: bfd17c76c12 "i965: Port INTEL_PRECISE_TRIG=1 to NIR."
Cc: "12.0 13.0" <[email protected]>
Cc: Kenneth Graunke <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit 4622c75dfbf5c89630d1860037dcb8b7910c0820)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3479dde5c60316944fbbbe052028cff411d947c4
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:33 2017 +0000
freedreno: automake: correctly set MKDIR_GEN
Analogous to previous commit.
Fixes: 4610e5ef28e "freedreno/ir3: fix sin/cos"
Cc: "12.0 13.0" <[email protected]>
Cc: Rob Clark <[email protected]>
Cc: Nicolas Dechesne <[email protected]>
Reported-by: Nicolas Dechesne <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Tested-by: Nicolas Dechesne <[email protected]>
(cherry picked from commit a922c821255bfac22cf705244e5bd303a626bb55)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=df67d0590a30f025635dbaaf154c1123dc5386dd
Author: Emil Velikov <[email protected]>
Date: Mon Jan 16 15:45:32 2017 +0000
i965: automake: correctly set MKDIR_GEN
Otherwise we might end up w/o the respective folder (depending on
autotools version) and fail at build time.
Fixes: bfd17c76c12 "i965: Port INTEL_PRECISE_TRIG=1 to NIR."
Cc: "12.0 13.0" <[email protected]>
Cc: Kenneth Graunke <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit 5eed48d23780e812ca5c53fecc59a419962c7dd6)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=129f6089a04b59bd4e3284922f3760d4867ddf9d
Author: Jason Ekstrand <[email protected]>
Date: Tue Jan 24 17:10:45 2017 -0800
vulkan/wsi: Lower the maximum image sizes
Reviewed-by: Lionel Landwerlin <[email protected]>
Cc: "17.0" <[email protected]>
(cherry picked from commit d6397dd62542215e655c0cab557729474c2ae973)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=426b1156c714fd3c5294ac85b4546a8e004750ef
Author: Jason Ekstrand <[email protected]>
Date: Tue Jan 24 16:43:15 2017 -0800
vulkan/wsi/wayland: Handle VK_INCOMPLETE for GetPresentModes
Reviewed-by: Lionel Landwerlin <[email protected]>
Cc: "17.0" <[email protected]>
(cherry picked from commit 659edd9f5ce995aa47e2ab02425508cc29140cce)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=92c061289e5ee182a08299ffe406eebd8a89f3b3
Author: Jason Ekstrand <[email protected]>
Date: Tue Jan 24 16:43:01 2017 -0800
vulkan/wsi/wayland: Handle VK_INCOMPLETE for GetFormats
Reviewed-by: Lionel Landwerlin <[email protected]>
Cc: "17.0" <[email protected]>
(cherry picked from commit dc578ef060f6b92e6fd2f77bb6454a5fb22a471c)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c50346e58b6a72216e9495d44386a24a4db40e37
Author: Bruce Cherniak <[email protected]>
Date: Thu Feb 2 14:15:08 2017 -0600
swr: [rasterizer core] Remove dead code Clipper::ClipScalar()
Clipper::ClipScalar() is dead code and should be removed. It is causing
an error with gcc-7 because it references a now defunct member.
v2: includes bugzilla reference, same code change
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99633
CC: "13.0 17.0" <[email protected]>
Tested-by: Vinson Lee <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
Reviewed-by: Tim Rowley <[email protected]>
(cherry picked from commit bf29495dcdb290c8b15cacd2001603b8ae5d36c8)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb73e3c6d0666790c693e8d7a03ed9374277121f
Author: Ilia Mirkin <[email protected]>
Date: Wed Jan 25 22:31:58 2017 -0500
st/mesa: MAX_VARYING is the max supported number of patch varyings, not min
This fixes
GL45-CTS.tessellation_shader.tessellation_shader_tessellation.max_in_out_attributes
on nouveau. We only support 30 patch varyings (as 2 vec4 slots end up
being used for tess level settings), but were getting 32 exposed.
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Cc: "13.0 17.0" <[email protected]>
(cherry picked from commit 7d3f9ed71c71637a91ecf15f50dbe7578a65d57e)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f6813d5ddaaa400fb36e6ac1b7f1a27e64866088
Author: Ilia Mirkin <[email protected]>
Date: Wed Feb 1 16:11:41 2017 -0500
vbo: process buffer binding state changes on draw when recording
The VBO module keeps track of any vbo buffers. It updates this list when
receiving an InvalidateState call, however this never happens when
recording draws right now. Make sure that we do all the usual state
updates when recording draws so that the VBO list may be kept up to
date.
Signed-off-by: Ilia Mirkin <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99631
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
Cc: "13.0 17.0" <[email protected]>
(cherry picked from commit e73f87fcbdcb12b0b8d28c4ca3444bfb7669bca5)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0624d6c2a434088040ef78563792bd71de59700c
Author: Jason Ekstrand <[email protected]>
Date: Mon Jan 30 19:53:17 2017 -0800
anv: Improve flushing around STATE_BASE_ADDRESS
It is not clear from the docs exactly how pipelined STATE_BASE_ADDRESS
actually is. We know from experimentation that we need to flush the
render cache prior to emitting STATE_BASE_ADDRESS and invalidate the
texture cache afterwards. The only thing the PRM says is that, on gen8+
we're supposed to invalidate the state cache after STATE_BASE_ADDRESS
but experimentation has indicated that doing so does nothing whatsoever.
Since we don't really know, let's do just a bit more flushing in the
hopes that this won't be a problem again. In particular:
1) Do a CS stall before we emit STATE_BASE_ADDRESS since we don't
really know whether or not it's pipelined.
2) Do a data cache flush in case what runs before STATE_BASE_ADDRESS
is a compute shader.
3) Invalidate the state and constant caches after STATE_BASE_ADDRESS
because the state may be getting cached there (we don't really know).
Reported-by: Mark Janes <[email protected]>
Tested-by: Mark Janes <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Cc: "13.0 17.0" <[email protected]>
(cherry picked from commit 92128590bc78bcbbfb19144c7004b31d6405bbcb)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5bfc9bcc03736d7b81b98c3bdeb2aabc2d58b7e
Author: Jason Ekstrand <[email protected]>
Date: Tue Jan 31 15:06:56 2017 -0800
anv: Flush render cache before STATE_BASE_ADDRESS on gen7
We had no good reason for *not* doing this on gen7 before but we didn't
know it was needed. Recently, when trying update to Vulkan CTS version
1.0.2 in our CI system, Mark discovered GPU hangs on Haswell that appear
to be STATE_BASE_ADDRESS related. This commit fixes them.
Reported-by: Mark Janes <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Cc: "13.0 17.0" <[email protected]>
(cherry picked from commit f1f9794118008bcdc13d93ee709022d21cc4156d)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=01044bf446c8664eeec766e75f845fbf55075bf9
Author: Jason Ekstrand <[email protected]>
Date: Fri Jan 27 12:31:40 2017 -0800
isl/formats: Only advertise sampling for A4B4G4R4 on Broadwell
This causes hangs on Broadwell if you try to render to it. I have no
idea how we managed to not hit this earlier.
Tested-by: Mark Janes <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Cc: "13.0 17.0" <[email protected]>
(cherry picked from commit 4871930451215fd8673f7e213a88aa48e5ecaad3)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cf94d126b6c599384cab4a0c5e66397836f2dfa9
Author: Jason Ekstrand <[email protected]>
Date: Fri Jan 27 12:32:05 2017 -0800
intel/blorp: Handle clearing of A4B4G4R4 on all platforms
Tested-by: Mark Janes <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Cc: "13.0 17.0" <[email protected]>
(cherry picked from commit a0348b5a0b679a78b3f49d41f980dec6066cc541)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=697cf3c720f2e3cc0212026cc38f55c8bc591871
Author: Bartosz Tomczyk <[email protected]>
Date: Mon Jan 30 14:07:45 2017 +0100
r600: Fix stack overflow
Commit 7b5878ee0491e7a93914389a8369cd6752b9757d increased number of
outputs to 64, but left output array intact. This caused stack overflow
when number of outputs is bigger then 32. Found by ASAN.
Cc: "12.0 13.0 17.0" <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
(cherry picked from commit a41f2527ae8ae5432b99c88863fbdf2f0b5f04ad)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=68d18cccff4544e9f523364413747745c77208ba
Author: Kenneth Graunke <[email protected]>
Date: Wed Jan 25 00:59:42 2017 -0800
i965: Unbind deleted shaders from brw_context, fixing malloc heisenbug.
Applications may delete a shader program, create a new one, and bind it
before the next draw. With terrible luck, malloc may randomly return a
chunk of memory for the new gl_program that happened to be the exact
same pointer as our previously bound gl_program. In this case, our
logic to detect new programs in brw_upload_pipeline_state() would break:
if (brw->vertex_program != ctx->VertexProgram._Current) {
brw->vertex_program = ctx->VertexProgram._Current;
brw->ctx.NewDriverState |= BRW_NEW_VERTEX_PROGRAM;
}
Because the pointer is the same, we'd think it was the same program.
But it could be wildly different - a different stage altogether,
different sets of resources, and so on. This causes utter chaos.
As unlikely as this seems, I believe I hit this when running a subset
of the CTS in a loop, in a group of tests that churns through simple
programs, deleting and rebuilding them. Presumably malloc uses a
bucketing cache of sorts, and so freeing up a gl_program and allocating
a new one fairly quickly causes it to reuse that memory.
The result was that brw->vertex_program->info.num_ssbos claimed the
program had SSBOs, while brw->vs.base.prog_data.binding_table claimed
that there were none. This was crazy, because the binding table is
calculated from info.num_ssbos - the shader info appeared to change
between shader compile time and draw time. Careful use of watchpoints
revealed that it was being clobbered by rzalloc's memset when building
an entirely different program...
Fortunately, our 0xd0d0d0d0 canary for unused binding table entries
caused us to crash out of bounds when trying to upload SSBOs, or we
may have never discovered this heisenbug.
Fixes crashes in GL45-CTS.compute_shader.sso-case2 when using a hacked
cts-runner that only runs GL45-CTS.compute_shader.s* in EGL config ID 5
at 64x64 in a loop with 100 iterations.
Cc: "17.0 13.0 12.0" <[email protected]>
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
Reviewed-by: Topi Pohjolainen <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
(cherry picked from commit 7c5629a26912af9164bda17b7af5370f6b4302e4)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa5d8de8383adb288bfe05d38fa5f9541f16d90e
Author: Emil Velikov <[email protected]>
Date: Fri Jan 27 18:29:38 2017 +0000
configure.ac: list radeon in --with-vulkan-drivers help string
Analogous to what we do for the dri and gallium drivers.
Cc: 17.0 13.0 <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
(cherry picked from commit cb6be5c8c05fa1af20ebd4f014d686244826f987)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=58c7c9d43826cd4fd14412741ae6d10da3e4ec81
Author: Lionel Landwerlin <[email protected]>
Date: Thu Jan 26 16:57:25 2017 +0000
spirv: handle OpUndef as part of the variable parsing pass
Looking at the following bit of SPIRV shader :
...
%zero = OpConstant %i32 0
%ivec3_0 = OpConstantComposite %ivec3 %zero %zero %zero
%vec3_undef = OpUndef %ivec3
%sc_0 = OpSpecConstant %i32 0
%sc_1 = OpSpecConstant %i32 0
%sc_2 = OpSpecConstant %i32 0
...
Our compiler currently stops parsing variables & types on the OpUndef
and switches to instructions, leaving the following sc_[0-2] variables
untreated.
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Cc: "17.0 13.0" <[email protected]>
(cherry picked from commit df7063cba35ea273827ba60f643596cd80539458)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5210d157c43d8e18214b9be0e2a3daacc30c91bb
Author: Lionel Landwerlin <[email protected]>
Date: Thu Jan 26 11:06:53 2017 +0000
anv: fix descriptor pool internal size allocation
The size of the pool is slightly smaller than the size of the
structure containing the whole pool. We need to take that into account
on when setting up the internals.
Fixes a crash due to out of bound memory access in:
dEQP-VK.api.descriptor_pool.out_of_pool_memory
v2: Drop debug traces (Lionel)
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Cc: "17.0 13.0" <[email protected]>
(cherry picked from commit c3421106ec332bf3a943ccf9447edf00dc7f3618)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f69b8510ba0f6d24e32ffec9f3f8d0fef9dcfd12
Author: Lionel Landwerlin <[email protected]>
Date: Wed Jan 25 16:22:40 2017 +0000
anv: set command buffer to NULL when allocations fail
The spec section 5.2 says:
"vkAllocateCommandBuffers can be used to create multiple command
buffers. If the creation of any of those command buffers fails, the
implementation must destroy all successfully created command buffer
objects from this command, set all entries of the pCommandBuffers
array to VK_NULL_HANDLE and return the error."
Fixes:
dEQP-VK.api.object_management.alloc_callback_fail_multiple.command_buffer_primary
dEQP-VK.api.object_management.alloc_callback_fail_multiple.command_buffer_secondary
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Cc: "13.0 17.0" <[email protected]>
(cherry picked from commit 25e21cb8d065799888e0c5db80b0e616ffddc560)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=94278a48d12c9a8fd07146e75b70687645617736
Author: Jason Ekstrand <[email protected]>
Date: Mon Jan 23 10:53:13 2017 -0800
i965/blorp: Use the correct ISL format for combined depth/stencil
In brw_blorp_copyteximage, we use the format from the render buffer.
This could be a combined depth/stencil format. In this case, we handle
stencil properly but we give blorp the wrong ISL format. Specifically,
we would give blorp ISL_FORMAT_R32G32B32A32_FLOAT which is the wrong
size was causing GPU hangs.
Fixes:
GL45-CTS.gtf30.GL3Tests.packed_depth_stencil.packed_depth_stencil_copyteximage
Reviewed-by: Chad Versace <[email protected]>
Reviewed-by: Topi Pohjolainen <[email protected]>
Cc: "13.0 17.0" <[email protected]>
(cherry picked from commit 4c180f9633421a526f3ea6746cf38b809e7c1abb)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=70afb711fa3083ce423e37a8aea0c15d3eda6b4f
Author: Marek Olšák <[email protected]>
Date: Fri Jan 20 01:13:39 2017 +0100
radeonsi: always set the TCL1_ACTION_ENA when invalidating L2
Some CIK-VI docs say this is the default behavior on SI. That doesn't
answer whether it's also the default behavior on CIK-VI.
Cc: 17.0 13.0 <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
(cherry picked from commit 573bf0940a08e18a511e338de478f30fd95a1590)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a545a33b1a1acc8cf2b518acf34c464aa70049c9
Author: Jason Ekstrand <[email protected]>
Date: Thu Jan 19 11:28:31 2017 -0800
nir/search: Use the correct bit size for integer comparisons
The previous code always compared integers as 64-bit. Due to variations
in sign-extension in the code generated by nir_opt_algebraic.py, this
meant that nir_search doesn't always do what you want. Instead, 32-bit
values should be matched as 32-bit and 64-bit values should be matched
as 64-bit. While we're here we unify the unsigned and signed paths.
Now that we're using the right bit size, they should be the same since
the only difference we had before was sign extension.
This gets the UE4 bitfield_extract optimization working again. It had
stopped working due to the constant 0xff00ff00 getting sign-extended
when it shouldn't have.
Reviewed-by: Iago Toral Quiroga <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
Cc: "17.0 13.0" <[email protected]>
(cherry picked from commit bb96b034616d9d099752efb005b5c05e8644059c)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f084d3c7aa03c7d32db74841fa79f62cb1bae61a
Author: Lionel Landwerlin <[email protected]>
Date: Thu Jan 19 16:20:00 2017 +0000
anv: don't require render target isl bit for depth/stencil surfaces
Blorp can deal with depth/stencil surfaces blits/copies without the
render target requirement. Also having both render target and
depth/stencil requirement is incompatible from isl's point of view.
This fixes an image creation issue in the high level quality settings
of the Unity3D player, which requires a depth texture with src/dst
transfer & 4x multisampling.
v2: Simply aspect checking condition (Jason)
Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Cc: 13.0 17.0 <[email protected]>
(cherry picked from commit 74c23bde5b8155a84233265c56bedac8f38de14e)
_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit