summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-03-08freedreno: add a420 deqp-runner filesIlia Mirkin3-0/+441
This doesn't actually get run in CI, but this helps track outstanding issues / expectations. This is from a run on my IFC6540 with A420. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15251>
2022-03-08freedreno/a4xx: expose shaders and images, as well as ES 3.1Ilia Mirkin2-3/+5
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15251>
2022-03-08freedreno/ir3: disable conversion folding on a4xxIlia Mirkin1-1/+3
Experiments suggest that e.g. add.u r0.y, hr0.x, hr0.y will result in the summed value in both the high and low words of r0.y. This only happens with odd registers, not even ones (r0.x works fine). Seen in the bit_count lowering (which turns out to be unnecessary, but this is still a larger problem). Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15251>
2022-03-08freedreno/ir3: no need to count bits 16b at a time for a4xxIlia Mirkin1-3/+7
This also works out nicely since a4xx has some sort of problem with the 16b-based lowering. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15251>
2022-03-08freedreno/a4xx: improve condition for disabling early zIlia Mirkin1-3/+4
This helps some subtests in the early-z piglit test, but leaves one occlusion-based test still failing. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15251>
2022-03-08freedreno/a4xx: extend astc and tg4 workarounds to compute shadersIlia Mirkin7-11/+32
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15251>
2022-03-05a4xx: add emission of compute state, and compute dispatchIlia Mirkin11-7/+299
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14794>
2022-03-05a4xx: add logic to emit image/ssbo stateIlia Mirkin5-2/+357
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14794>
2022-03-05freedreno/ir3: support a4xx compute differencesIlia Mirkin5-6/+39
Mainly the workgroup id comes injected via consts by the hardware (or CP), and we must make room for it, otherwise the driver won't know where to put it. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14794>
2022-03-05freedreno/ir3: support a4xx in load/store buffer/image emissionIlia Mirkin3-24/+98
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14794>
2022-03-03freedreno/a4xx: fix integer tg4Ilia Mirkin3-3/+113
Something is slightly off in the integer values returned. It passes many tests without the fixup, but the dEQP-GLES31 tests complain. The blob ends up doing 3x gathers, and selects between them based on getinfo results. Since we already have a per-sampler key with some spare bits, just stick the bit-size info in there. And we can derive signedness from the associated type info. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14670>
2022-03-03freedreno/a4xx: add swizzles to shader keys for tg4 workaroundIlia Mirkin12-11/+166
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14670>
2022-03-03freedreno/a4xx: move tex_type to headerIlia Mirkin2-24/+24
This will be used in several places. Factor it out for common use. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14670>
2022-03-03nir: remove bogus logic to allow cube + offset to workIlia Mirkin1-6/+1
This was done for an a4xx hack which is now removed. No API allows cube texturing to have offsets. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14670>
2022-03-03freedreno/ir3: remove bogus tg4 -> tex lowering passIlia Mirkin4-103/+0
It can't be done. This just provides bad results. The blob had a comparable approach where they fixed up coordinates, but that also can't work with a separate texture definition with nearest filtering. By then, might as well provide a unswizzled variant instead, and using native functionality. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14670>
2022-03-03nvc0: disable EXT_texture_sRGB_RG8Ilia Mirkin1-0/+3
Looks like the green component doesn't get srgb-decoding, and no obvious way to force it. It works fine on nv50 though. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15211>
2022-03-03mesa: enable GL_EXT_texture_sRGB_RG8 on desktopIlia Mirkin1-2/+2
Looks like an extension number was assigned in late 2020. This makes it possible to hook up this format to teximage-colors without teaching it about ES. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15211>
2022-02-28nouveau: add dEQP/GLCTS run failure info for GF108/GT215Ilia Mirkin4-0/+1142
I happened to have these plugged in. Ran them against mesa 21.3 and recent VK-GL-CTS tree (shortly after vulkan-cts-1.2.8). Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Emma Anholt <emma@anholt.net> Acked-by: Karol Herbst <kherbst@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14797>
2022-02-21freedreno/ir3: document GETINFO's x/y resultsIlia Mirkin1-0/+85
The zw were already known, but throw them in here too. I'm not extremely happy with the description of "y", feels like there's a simpler explanation there, but I couldn't find it. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14672>
2022-02-20freedreno/a4xx: make luminance formats renderable, add missing L8A8_SNORMIlia Mirkin1-8/+9
If the luminance formats aren't renderable, they back out to R* formats, but those will end up with a 1 in alpha rather than 0 when textured. So instead make them explicitly renderable, which will cause the correct texture format swizzle to be applied. Fixes query-rgba-signed-components and probably others. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15097>
2022-02-20freedreno/a4xx: use correct macro for colorIlia Mirkin1-1/+1
Doesn't actually matter since all the colors are encoded the same. But for consistency... Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15097>
2022-02-12freedreno/ir3: split up load/store/atomic by generationIlia Mirkin1-15/+116
Some bits are slightly different on a4xx. Use the encodings that work. Perhaps these can be combined at some point if we get a proper understanding of what they mean. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14789>
2022-02-12isaspec: add gen-based leaf bitset separationIlia Mirkin4-29/+77
This is necessary for some ops which have slightly different encoding on a4xx/a5xx, but are otherwise identical. This helps keeping the compiler from having to worry about these details and creating separate ops. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14789>
2022-02-12isaspec: fix gen_max to be 2^32-1Ilia Mirkin1-2/+2
The minus sign has higher preference than shift: >>> 1 << 32 - 1 2147483648 >>> (1 << 32) - 1 4294967295 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14789>
2022-02-09translate: improve sse2 32-bit unsigned -> float conversionIlia Mirkin2-14/+42
The existing logic would drop the low bit. Instead, let's drop the high bit, do the conversion, and then add the fixed constant back in if the value had the high bit set originally. Fixes KHR-GL45.direct_state_access.vertex_arrays_attribute_format on drivers that use this module to handle the format conversion. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Acked-by: Emma Anholt <emma@anholt.net> Tested-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14922>
2022-02-09rtasm: add pcmpgtd operationIlia Mirkin2-0/+11
This will be used shortly by the translate code. Available in SSE2. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Acked-by: Emma Anholt <emma@anholt.net> Tested-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14922>
2022-02-09rtasm: fix printf specifier for ptrdiff_tIlia Mirkin1-1/+1
In practice it's a small number, but new gcc versions complain. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Acked-by: Emma Anholt <emma@anholt.net> Tested-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14922>
2022-02-09st/mesa: only enable ARB_enhanced_layouts if there are xfb buffersIlia Mirkin1-1/+2
It really doesn't make sense without any xfb support. One could limp along, but our validation does not work as-is. Doesn't seem important to support this use-case. This disables GL_ARB_enhanced_layouts on crocus with gen4/5. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14869>
2022-02-09glsl: only validate xfb_buffer values when we have enhanced layoutsIlia Mirkin1-5/+7
XFB might not be supported, and the shader wouldn't be setting this flag. But validation would still fail, since the number of xfb buffers would be 0. So only validate if an xfb_buffer is set in the qualifiers. See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5415 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14869>
2022-02-09glsl: simplify conditions for setting various allowed flagsIlia Mirkin1-10/+10
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14869>
2021-12-08freedreno/ci/a306: increase concurrencyIlia Mirkin1-0/+1
No harm from using more threads, but not enough benefit to reduce parallelism unfortunately. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14067>
2021-12-08freedreno/ci/a306: add more skipsIlia Mirkin1-2/+3
These come up with increased concurrency. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14067>
2021-12-04nv50: don't claim support for format-less storesIlia Mirkin1-1/+1
This is not supported, nor is there any need to support it -- ES 3.1 doesn't need it, and we're in no danger of supporting ARB_shader_image_load_store (among other things, it requires frag images). Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Karol Herbst <kherbst@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14050>
2021-12-04nv50,nvc0: add new caps to listIlia Mirkin2-0/+17
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Karol Herbst <kherbst@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14050>
2021-12-03gitlab-ci: detect a3xx gpu hang recovery failureIlia Mirkin1-0/+18
But don't bail immediately, instead print out some more lines after the hang, hopefully catching info about the cause of the hang. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14033>
2021-12-03gitlab-ci: serial close can leave an active readIlia Mirkin1-9/+8
So instead cancel the read first, and then close. Make sure the serial-reading properly detects this cancelled condition under all circumstances and exits. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14033>
2021-12-03freedreno/a5xx: enable OES_gpu_shader5Ilia Mirkin2-72/+5
This extension is controlled by the ESSL feature level. Bump it up since all parts of OES_gpu_shader5 should be supported. This also avoids lowering all of the "advanced" functions (which should probably not be lowered in the first place since they're part of ES 3.1...) Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14035>
2021-12-02freedreno/ci/a306: split off snorm blending failuresIlia Mirkin1-35/+37
The hardware doesn't support this. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13990>
2021-12-02freedreno/ci/a306: split off the f32 blend / texturing failuresIlia Mirkin1-57/+60
The hardware doesn't support this. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13990>
2021-12-02freedreno/ci/a306: separate msaa failsIlia Mirkin1-201/+204
The driver does not implement MSAA. When that happens these can be split up further. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13990>
2021-12-02freedreno/a3xx: add some legacy formatsIlia Mirkin2-28/+17
These can be used in "legacy" buffer textures. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13989>
2021-12-02freedreno/ci/a306: add additional skip which hangchecksIlia Mirkin1-0/+4
I was having trouble getting a run to complete without this. Was working earlier, not sure what changed. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13989>
2021-11-30freedreno/ci: add piglit runs for a306Ilia Mirkin4-0/+678
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13920>
2021-11-29ci: move windowoverlap exclusion to all-skipsIlia Mirkin14-16/+3
The test is just plain not built by our containers. Skip it everywhere. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13919>
2021-11-28freedreno/ir3: get the post-lowering clip/cull maskIlia Mirkin1-4/+1
The variant may include a lowered gl_Clip/CullDistance array. So we have to use the variant's info (which is not available). However we save off the clip/cull masks already, so just reuse those. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13891>
2021-11-28freedreno/ir3: indicate that clipdist arrays are in useIlia Mirkin2-3/+2
We expose the compact array cap, which means that we get compact clipdist arrays. Indicate this to the lowering pass so that it works for gl_ClipDistance from fs, among others. Fixes, among others, on a420, tests/spec/glsl-1.30/execution/clipping/fs-clip-distance-interpolated.shader_test Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Matt Turner <mattst88@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13891>
2021-11-28nir/lower_clip: support clipdist array + no varsIlia Mirkin1-7/+13
This runs after the "to io" lowering on freedreno. Support this case. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13917>
2021-11-28nir/lower_clip: increment num_inputs/outputs by appropriate amountIlia Mirkin1-3/+4
The inputs/outputs are meant to be in vec4 units. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13917>
2021-11-28nir/lower_clip: location offset goes into offset, not baseIlia Mirkin1-4/+4
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13917>
2021-11-28nir/lower_clip: replace bogus comment about gl_ClipDistance reading in GLIlia Mirkin1-3/+3
gl_ClipDistance most definitely can be read in fragment shaders since GLSL 1.30. This is also accessible in ES with EXT_clip_cull_distance. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13917>