- 18 Dec, 2020 40 commits
-
-
Vinson Lee authored
Signed-off-by:
Vinson Lee <vlee@freedesktop.org> Reviewed-by:
Alejandro Piñeiro <apinheiro@igalia.com> Part-of: <!8120>
-
Samuel Pitoiset authored
Depth/stencil resolves are only allowed inside a subpass, which means the offset is always 0 and the draw/dispatch covers the whole image. Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!8127>
-
Caio Marcelo de Oliveira Filho authored
SPIR-V modules can have multiple shaders (including of the same stage), but the global variables are all declared for the whole module. This can result in variables with same Binding but incompatible types, so those need to be removed before we use. Previously, a similar issue but with a narrower scope was fixed by 6775665e ("spirv: Eliminate dead input/output variables after translation."). This patch depends on the previous patch that prevents variables used only in pointer initializers to be considered dead. Closes: mesa/mesa#3686 Fixes: 3a266a18 ("nir/spirv: Add support for declaring variables") Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!8133>
-
Caio Marcelo de Oliveira Filho authored
Between the creation of a shader (from GLSL or SPIRV frontends) and nir_lower_variable_initializers is called, variables may refer to other variables for initialization. Those referred variables need to be kept alive, so consider that in the pass. Fixes: 7acc8105 ("compiler/nir: Add support for variable initialization from a pointer") Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!8133>
-
Caio Marcelo de Oliveira Filho authored
And destroy the live set earlier in nir_remove_dead_variables. Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!8133>
-
Caio Marcelo de Oliveira Filho authored
Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!8133>
-
Caio Marcelo de Oliveira Filho authored
Uses same NIR intrinsic as glsl_to_nir. Make it an option so it is easy later to move Vulkan drivers incrementally to use it. Fixes piglit test spec/arb_gl_spirv/execution/ssbo/unsized-array-length. Closes: mesa/mesa#3691 Fixes: 15e43907 ("iris: Enable ARB_gl_spirv and ARB_spirv_extensions") Reviewed-by:
Alejandro Piñeiro <apinheiro@igalia.com> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!8136>
-
Mike Blumenkrantz authored
this is an array[1], so we need to do some extra legwork here even though probably it'd work fine even without it Reviewed-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <mesa/mesa!7490>
-
Mike Blumenkrantz authored
hash table keys for inserted items have to be valid memory ranges for the lifetime of the corresponding entry, so using a stack-allocated key like this is broken and doesn't accurately return the correct renderpass Fixes a872f463: ("zink: cache render-passes") Reviewed-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <mesa/mesa!8011>
-
Mike Blumenkrantz authored
Reviewed-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <mesa/mesa!8011>
-
Mike Blumenkrantz authored
Reviewed-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <mesa/mesa!8153>
-
Mike Blumenkrantz authored
Reviewed-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <mesa/mesa!8153>
-
Mike Blumenkrantz authored
Reviewed-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <mesa/mesa!8153>
-
Mike Blumenkrantz authored
packed buffers will still return the full format when we're using only the stencil aspect, so we need to explicitly set the format here also due to 7ca72f17 we can't use the provided swizzle for this case and have to force y -> x component swizzle Reviewed-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <mesa/mesa!7491>
-
Mike Blumenkrantz authored
these may not reach the other callsite in st_precompile_shader_variant(), so we need to ensure that we get psiz if we need it Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5885>
-
Mike Blumenkrantz authored
this reduces to a load_ubo after optimization, so we need to ensure that the constant data is put in a buffer instead of relying on it happening coincidentally Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5885>
-
Mike Blumenkrantz authored
if tess is the last shader program to run then we need to perform these lowering passes at that time rather than during the vs Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5885>
-
Mike Blumenkrantz authored
Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5885>
-
Mike Blumenkrantz authored
this only needs to be changed on the last stage between the two Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5885>
-
Mike Blumenkrantz authored
geometry shaders need to output this variable as well, and the variable added using the pass on the vertex shader won't be passed through here Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5885>
-
Samuel Pitoiset authored
It's not a bitfield. This limit is purely informational. Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!8100>
-
Samuel Pitoiset authored
It should actually be 4 because the maximum fragment size supported by the hardware is 2x2. Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!8100>
-
Jan Zielinski authored
SWR is missing implementation of pipe_context::flush_resource function, which is now in the execution path on Windows. This change adds an empty implementation (flush_resource is NOOP in SWR) to prevent crashes Reviewed-by:
Krzysztof Raszkowski <krzysztof.raszkowski@intel.com> Part-of: <mesa/mesa!8159>
-
Erik Faye-Lund authored
There's a few GL4 features that zink already supports. Reviewed-by:
Hoe Hao Cheng <haochengho12907@gmail.com> Part-of: <!8158>
-
Rhys Perry authored
LLVM (like NIR) requires phi instructions to be before any other instructions in the block. ac_branch_exited() can insert non-phi instructions before visit_block() adds phis, so visit_block() should add phi instructions before the non-phi instructions ac_branch_exited() inserts. Signed-off-by:
Rhys Perry <pendingchaos02@gmail.com> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Fixes: aa757f4f ("ac/llvm: fix demote inside conditional branches") Part-of: <mesa/mesa!8054>
-
Juan A. Suárez authored
Include this Broadcom driver in the feature matrix, together with the implemented extensions. Reviewed-by:
Alejandro Piñeiro <apinheiro@igalia.com> Signed-off-by:
Juan A. Suarez Romero <jasuarez@igalia.com> Part-of: <!8137>
-
Tony Wasserka authored
Reviewed-by:
Timur Kristóf <timur.kristof@gmail.com> Reviewed-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <!7551>
-
Samuel Pitoiset authored
This was disabled due to some depth/stencil resolve CTS failures which are now fixed. I figured that disabling TC-compat HTILE for D32_SFLOAT+MSAA reduced performance in Control by -11% on Vega10. In fact, the game only uses D32_SFLOAT for depth rendering. This gives a huge boost in Control on Navi10 (eg. +17% in MSAA4x). Note that the game is still slower than PRO without MSAA on Navi10, but as fast (or even a bit faster) on Vega10. I think TC-compat HILE could also be enabled for D32_SFLOAT_S8_UINT but it needs more testing first. Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!8143>
-
Samuel Iglesias Gonsálvez authored
imageSize() expects the last component of the return value to be the number of layers in the texture array. In the case of cube map array, it will return a ivec3, with the third component being the number of layer-faces. Fixes: dEQP-VK.image.image_size.cube_array.* Signed-off-by:
Samuel Iglesias Gonsálvez <siglesias@igalia.com> Reviewed-by:
Eric Anholt <eric@anholt.net> Part-of: <!8087>
-
Marek Olšák authored
The glPopAttrib optimizations incorrectly removed it. Use GL_ALL_ATTRIB_BITS to mean "all texture parameters have changed" to make it more efficient. Fixes: d0e18550 - mesa: optimize saving/restoring bound textures for glPush/PopAttrib Reviewed-by:
Eric Anholt <eric@anholt.net> Part-of: <!8046>
-
Marek Olšák authored
It was a typo, or thinko, sort of. Fixes: d0e18550 - mesa: optimize saving/restoring bound textures for glPush/PopAttrib Reviewed-by:
Zoltán Böszörményi <zboszor@gmail.com> Reviewed-by:
Eric Anholt <eric@anholt.net> Part-of: <!8046>
-
Marek Olšák authored
See the comment. This is something I spotted in the code. There is no known bug caused by this. Reviewed-by:
Zoltán Böszörményi <zboszor@gmail.com> Reviewed-by:
Eric Anholt <eric@anholt.net> Part-of: <!8046>
-
Marek Olšák authored
This is now dead code. Reviewed-by:
Zoltán Böszörményi <zboszor@gmail.com> Reviewed-by:
Eric Anholt <eric@anholt.net> Part-of: <!8046>
-
Marek Olšák authored
This changes the code so that program parameters no longer have to be sorted (meaning uniforms and constants are before state variables). Instead of checking if the parameter is a state variable for every element, teach all functions to handle non-state parameters safely. This is better for the most common case where parameters are sorted or semi-sorted. The new enum STATE_NOT_STATE_VAR identifes that a parameter is not a state variable. Fixes: 63f7d7dd - mesa: take advantage of sorted parameters in _mesa_load_state_parameters Closes: #3914Reviewed-by:
Zoltán Böszörményi <zboszor@gmail.com> Reviewed-by:
Eric Anholt <eric@anholt.net> Part-of: <!8046>
-
Marek Olšák authored
"state" contains NIR, while "vs->base.state" contains TGSI generated from NIR. It was a typo. This fixes the arb_vp subtest of: DRAW_USE_LLVM=1 piglit/bin/rasterpos Fixes: df11ceaa - draw: add NIR support to draw_create_vertex_shader Reviewed-by:
Zoltán Böszörményi <zboszor@gmail.com> Reviewed-by:
Eric Anholt <eric@anholt.net> Part-of: <!8046>
-
Marek Olšák authored
Drivers can return any NIR options, but nir_to_tgsi doesn't support any options because it was written to assume certain options are set. This fixes a regression caused when st/mesa switched to NIR for passing shaders to the draw module. Fixes: 44b7e149 - st/mesa: don't generate TGSI for the draw VS because it now supports NIR too Closes: #3949 Closes: #3965Reviewed-by:
Zoltán Böszörményi <zboszor@gmail.com> Reviewed-by:
Eric Anholt <eric@anholt.net> Part-of: <!8046>
-
Eric Anholt authored
We apparently don't have anything else making sure that it's flushed in between use as a render target and use as a texture source, so bypass-mode depth texture sampling could get stale data. Fixes consistent (as far as I could see) failures in FD_MESA_DEBUG=nogmem on: dEQP-GLES31.functional.texture.multisample.samples_*.use_texture_depth_2d dEQP-GLES31.functional.stencil_texturing.render.depth24_stencil8_draw Cc: mesa-stable Part-of: <!8146>
-
Eric Anholt authored
If the texture hasn't yet been validated, the current tex image contents may have been ignored in favor of the texture's main miptree. Fixes test failure on softpipe and intermittent failures on radeonsi in: mesa/piglit!428 Cc: mesa-stable Tested-by:
Chia-I Wu <olvaffe@gmail.com> Reviewed-by:
Chia-I Wu <olvaffe@gmail.com> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!8091>
-
Marcin Ślusarz authored
Signed-off-by:
Marcin Ślusarz <marcin.slusarz@intel.com> Reviewed-by:
Timothy Arceri <tarceri@itsqueeze.com> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!8110>
-
Marcin Ślusarz authored
Signed-off-by:
Marcin Ślusarz <marcin.slusarz@intel.com> Reviewed-by:
Timothy Arceri <tarceri@itsqueeze.com> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!8110>
-