- 20 Jan, 2021 36 commits
-
-
Samuel Pitoiset authored
We check below if HTILE is in compressed state, so checking if the image has HTILE is useless because radv_layout_is_htile_compressed() will return FALSE if no HTILE. Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!8579>
-
Samuel Pitoiset authored
Use the surface flags directly instead. Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!8579>
-
Samuel Pitoiset authored
This is already checked in radv_handle_depth_image_transition(). Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!8579>
-
Rohan Garg authored
Expand the list of bind flags to cache depth and stencil buffers. Extensive testing shows the following performance improvements: Game | % difference in FPS Plague Inc | 7 Portal 2 | 21 Overcooked 2 | 1.2 Hollow Knight | -1.1 Civilization V | 3.8 Signed-off-by:
Rohan Garg <rohan.garg@collabora.com> Reviewed-by:
Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!8560>
-
Rhys Perry authored
fossil-db (GFX10.3): Totals from 42008 (30.14% of 139391) affected shaders: VGPRs: 2139116 -> 2147696 (+0.40%); split: -0.06%, +0.46% CodeSize: 199109120 -> 198637852 (-0.24%); split: -0.24%, +0.01% Instrs: 37713901 -> 37714574 (+0.00%); split: -0.02%, +0.03% Cycles: 1621911328 -> 1621634168 (-0.02%); split: -0.02%, +0.01% Signed-off-by:
Rhys Perry <pendingchaos02@gmail.com> Reviewed-by:
Daniel Schürmann <daniel@schuermann.dev> Part-of: <mesa/mesa!8523>
-
Rhys Perry authored
From comment in emit_mimg(): We don't need the bias, sample index, compare value or offset to be computed in WQM but if the p_create_vector copies the coordinates, then it needs to be in WQM. fossil-db (GFX10.3): Totals from 1778 (1.28% of 139391) affected shaders: SGPRs: 105080 -> 105072 (-0.01%); split: -0.02%, +0.01% VGPRs: 96800 -> 96776 (-0.02%); split: -0.07%, +0.05% CodeSize: 10001120 -> 10001384 (+0.00%); split: -0.04%, +0.04% MaxWaves: 18164 -> 18163 (-0.01%) Instrs: 1883750 -> 1883598 (-0.01%); split: -0.06%, +0.05% Cycles: 34800176 -> 34767840 (-0.09%); split: -0.10%, +0.01% We don't have a p_create_vector if we use NSA. Signed-off-by:
Rhys Perry <pendingchaos02@gmail.com> Reviewed-by:
Daniel Schürmann <daniel@schuermann.dev> Part-of: <mesa/mesa!8523>
-
Rhys Perry authored
fossil-db (GFX10.3): Totals from 70493 (50.57% of 139391) affected shaders: SGPRs: 4232624 -> 4231808 (-0.02%); split: -0.09%, +0.07% VGPRs: 2831772 -> 2764740 (-2.37%); split: -2.53%, +0.17% CodeSize: 225584412 -> 225048740 (-0.24%); split: -0.44%, +0.21% MaxWaves: 875319 -> 878837 (+0.40%); split: +0.44%, -0.04% Instrs: 43157803 -> 42496421 (-1.53%); split: -1.54%, +0.01% Cycles: 1656380132 -> 1641532056 (-0.90%); split: -0.94%, +0.04% Signed-off-by:
Rhys Perry <pendingchaos02@gmail.com> Reviewed-by:
Daniel Schürmann <daniel@schuermann.dev> Part-of: <mesa/mesa!8523>
-
Rhys Perry authored
Signed-off-by:
Rhys Perry <pendingchaos02@gmail.com> Reviewed-by:
Daniel Schürmann <daniel@schuermann.dev> Part-of: <mesa/mesa!8523>
-
Rhys Perry authored
Some fossil-db noise from slightly different order of instructions. fossil-db (GFX10.3): Totals from 73 (0.05% of 139391) affected shaders: SGPRs: 3424 -> 3440 (+0.47%) CodeSize: 199076 -> 199064 (-0.01%); split: -0.01%, +0.00% Instrs: 37303 -> 37300 (-0.01%); split: -0.01%, +0.00% Cycles: 786328 -> 786316 (-0.00%); split: -0.00%, +0.00% VMEM: 19448 -> 19454 (+0.03%); split: +0.04%, -0.01% SMEM: 5241 -> 5305 (+1.22%); split: +1.70%, -0.48% SClause: 1282 -> 1281 (-0.08%) Signed-off-by:
Rhys Perry <pendingchaos02@gmail.com> Reviewed-by:
Daniel Schürmann <daniel@schuermann.dev> Part-of: <mesa/mesa!8523>
-
Rhys Perry authored
Signed-off-by:
Rhys Perry <pendingchaos02@gmail.com> Reviewed-by:
Daniel Schürmann <daniel@schuermann.dev> Part-of: <mesa/mesa!8523>
-
Rhys Perry authored
There are half the SIMDs per CU and physical_vgprs should be 512 instead of 256. fossil-db (GFX10.3): Totals from 3622 (2.60% of 139391) affected shaders: VGPRs: 298192 -> 289732 (-2.84%); split: -3.43%, +0.59% CodeSize: 29443432 -> 29458388 (+0.05%); split: -0.00%, +0.06% MaxWaves: 21703 -> 23395 (+7.80%); split: +7.84%, -0.05% Instrs: 5677920 -> 5681438 (+0.06%); split: -0.01%, +0.07% Cycles: 280715524 -> 280895676 (+0.06%); split: -0.00%, +0.07% VMEM: 981142 -> 981894 (+0.08%); split: +0.18%, -0.10% SMEM: 243315 -> 243454 (+0.06%); split: +0.07%, -0.02% VClause: 88991 -> 89767 (+0.87%); split: -0.02%, +0.89% SClause: 200660 -> 200659 (-0.00%); split: -0.00%, +0.00% Copies: 430729 -> 434160 (+0.80%); split: -0.07%, +0.86% Branches: 158004 -> 158021 (+0.01%); split: -0.01%, +0.02% Signed-off-by:
Rhys Perry <pendingchaos02@gmail.com> Reviewed-by:
Daniel Schürmann <daniel@schuermann.dev> Part-of: <mesa/mesa!8523>
-
Rhys Perry authored
Signed-off-by:
Rhys Perry <pendingchaos02@gmail.com> Reviewed-by:
Daniel Schürmann <daniel@schuermann.dev> Part-of: <mesa/mesa!8523>
-
Mike Blumenkrantz authored
temporary until we get real WSI support Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!8284>
-
Mike Blumenkrantz authored
yet another extension that breaks naming conventions for structs/enums, even if it does so in a very sensible way Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!8284>
-
Andrii Simiklit authored
Having only one layer we can put 0 as third texture coordinate Closes: mesa/mesa#4115 Fixes: 36097fc7 ("st/pbo: fix pbo uploads without PIPE_CAP_TGSI_VS_LAYER_VIEWPORT and skip gs") Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Signed-off-by:
Andrii Simiklit <andrii.simiklit@globallogic.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8576>
-
Samuel Pitoiset authored
dEQP is too slow. Cc: <mesa-stable@lists.freedesktop.org> Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!8587>
-
Danylo Piliaiev authored
If tess consts aren't used they don't get included in constlen, and we risk overrunning consts of the next stage. Fixes: dEQP-VK.tessellation.invariance.outer_edge_index_independence.quads_fractional_even_spacing_ccw dEQP-VK.tessellation.invariance.outer_triangle_set.quads_fractional_odd_spacing dEQP-VK.tessellation.invariance.primitive_set.isolines_fractional_odd_spacing_ccw dEQP-VK.tessellation.invariance.primitive_set.quads_fractional_odd_spacing_cw Closes: mesa/mesa#4117 Signed-off-by:
Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <mesa/mesa!8578>
-
Alejandro Piñeiro authored
We are enabling this option for the Vulkan driver, so it makes sense to enable it for the OpenGL one. Reviewed-by:
Iago Toral Quiroga <itoral@igalia.com> Part-of: <mesa/mesa!8582>
-
Alejandro Piñeiro authored
We don't support them by hw, so we would need to get them lowered. This fix some crashes while using renderdoc with UE4 shooter demo traces. Reviewed-by:
Eric Anholt <eric@anholt.net> Part-of: <mesa/mesa!8582>
-
Gert Wollny authored
Currently, r600/nir doens't have a proper scheduler or optimizer backend, to be able to make use of this code path without performance regressions, we enable the sb optimizer also for NIR. Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!8563>
-
Gert Wollny authored
Some emulated fp64 piglit create code that seems to make the register allocation with sb worse than the original shader created from NIR, so fall back to using the un-optimized shader. Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!8563>
-
Gert Wollny authored
Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!8563>
-
Gert Wollny authored
This is needed when using sb as a post-optimizer. Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!8563>
-
Gert Wollny authored
Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!8563>
-
Gert Wollny authored
Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!8563>
-
Gert Wollny authored
v2: Fix parsing the 2-slot instructions Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!8563>
-
Gert Wollny authored
v2: use the gap in the enum bit field to add the 2-slot bit Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!8563>
-
Gert Wollny authored
Fixes: f79b7fcf r600/sfn: use 32 bit bools Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!8563>
-
Gert Wollny authored
Signed-off-by:
Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!8563>
-
Juan A. Suárez authored
When trying to blit using the TFU, as we are doing an exact copy with no conversions, we can choose a supported format that is compatible with the underlying format's texel size. This allows to use the TFU to blit formats that are not supported, like r8ui or r16ui. Signed-off-by:
Juan A. Suarez Romero <jasuarez@igalia.com> Reviewed-by:
Iago Toral Quiroga <itoral@igalia.com> Part-of: <mesa/mesa!8495>
-
Kenneth Graunke authored
This reverts commit aca67a55, which regressed the following Piglit test on i915 (and presumably r200): piglit/spec/!opengl 1.1/sized-texture-format-channels Specifically, it begins testing glTexImage2D with format GL_RGBA, type GL_FLOAT, and internalFormat GL_RGB16F, which leads to the following error: Mesa 21.0.0-devel implementation error: unexpected format GL_RGB16F in _mesa_choose_tex_format() Please report at https://gitlab.freedesktop.org/mesa/mesa/-/issues sized-texture-format-channels: ../../src/mesa/main/teximage.c:2836: _mesa_choose_texture_format: Assertion `f != MESA_FORMAT_NONE' failed. i915 and r200 unconditionally support ARB_half_float_pixel, but neither support RGB16F as an internal format. According to Ian's rationale in the commit message for 1edca151 (which enabled that extension for all drivers): "This extension only adds data types that can be passed to, for example, glTexImage2D. It does not add internal formats. Since you can already pass GL_FLOAT to glTexImage2D this shouldn't pose any additional issues with those drivers. Note that r200 and i915 already supported this extension, and they don't support floating-point textures either." So, commit aca67a55c011 enabled half-float internal formats on hardware that cannot support them. We should revert the change. v2: Don't reintroduce the _mesa_is_gles3() condition, as that shouldn't be necessary (feedback from Erik Faye-Lund). Reviewed-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by:
Erico Nunes <nunes.erico@gmail.com> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Reviewed-by:
Adam Jackson <ajax@redhat.com> Part-of: <mesa/mesa!8458>
-
Kenneth Graunke authored
_tnl_draw_prims loops over the prims, and for each one, maps the VBOs, draws, and unmaps them. But it failed to reset nr_bos = 0 between each loop iteration, which meant that when processing prim[n], the BO list had all BOs for prior primitives too. Assuming each primitive used the same VBOs, that means the same VBO would appear in the list multiple times, and it would try to unmap the same BO multiple times. This triggered asserts on the second unmap, as it had already been unmapped. Fixes Piglit's oes_draw_elements_base_vertex-multidrawelements on i915. Fixes: e99e7aa4 ("mesa: switch Draw(Range)Elements(BaseVertex) calls to DrawGallium") Acked-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!8522>
-
Kenneth Graunke authored
Prior to commit e99e7aa4 (mesa: switch Draw(Range)Elements(BaseVertex) calls to DrawGallium), the indices parameter of glDrawElements (an offset into the VBO) was handled by setting ib->ptr. With that commit, it instead began binding the index buffer with offset 0, and adding the offset to draw->start, which eventually becomes prim->start. t_draw.c's bind_indices() was trying to convert the relevant section of the index buffer to GLuints, but was failing to account for start, so it nabbed the wrong portion of the index buffer. Fixes: e99e7aa4 ("mesa: switch Draw(Range)Elements(BaseVertex) calls to DrawGallium") Acked-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!8522>
-
Kenneth Graunke authored
Commit 4c751ad6 (vbo/dlist: use a shared index buffer) caused multiple draws to use the same index buffer, and began setting the primitive's `start` field to the offset needed to access the right portion of the index buffer. Unfortunately, t_rebase_prims completely botches handling this case. Say for example we had start = 40, min_index = 6, max_index = 11. The actual indexes in the buffer are ib[40..45]. t_rebase_prims, however, would allocate an index buffer containing only 6 elements, and populate them with <ib[0..5] - min_index>. For one, this reads the wrong source data, leading to garbage index values. For another, it stores the new index buffer in the wrong spot, so drawing will try and read elements [40..45] of an array of length 6, and crash. This patch makes t_rebase_prims allocate a larger index buffer, with the blank space at the beginning, and try to copy the correct section of index buffer data over. This only works if `start` is the same for all primitives, however, so if we detect different ones, we recurse to rebase and call draw() separately for each different start value. Fixes: 4c751ad6 ("vbo/dlist: use a shared index buffer") Closes: mesa/mesa#4082 Acked-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!8522>
-
Kenneth Graunke authored
We only convert line strips to lines in certain cases, but were flagging node->merged.prim as GL_LINES even if we simply copied a GL_LINE_STRIP prim[0] over without modifying it. Fixes Piglit's lineloop test (which triggers loop -> strip conversion earlier in this path, then was incorrectly triggering strip -> list mode modification with no changes to the underlying data). Fixes: 31099141 ("vbo/dlist: implement primitive merging") Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!8522>
-
Kenneth Graunke authored
I'm can't see why this is necessary. There are already new fields (node->merged.{min,max}_index) for the new values in the merged case. But in vbo_save_draw.c, in the !draw_using_merged_prim case, we would try and use the original node...with the now destroyed min/max index. Fixes some assert failures when running with swtnl and forcing the non-merged path (though it takes the merged path by default). Fixes: 4c751ad6 ("vbo/dlist: use a shared index buffer") Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!8522>
-
- 19 Jan, 2021 4 commits
-
-
Vinson Lee authored
Signed-off-by:
Vinson Lee <vlee@freedesktop.org> Reviewed-by:
Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!8540>
-
Emma Anholt authored
Pulls in test fixes for rasterpos on softpipe and for simple-barrier-atomics on freedreno. Note that many xfail-vs-xskips end up changing, because apparently the Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com> Part-of: <mesa/mesa!8499>
-
Caio Oliveira authored
Reviewed-by:
Jordan Justen <jordan.l.justen@intel.com> Part-of: <mesa/mesa!8486>
-
Emma Anholt authored
Cuts another 60kb of generated code from Mesa drivers. Reviewed-by:
Matt Turner <mattst88@gmail.com> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!8532>
-