path: root/src/gallium
AgeCommit message (Collapse)AuthorFilesLines
18 hoursgallium/draw: Enable polygon stipple NIR helpers to generate bool1 or bool32 ↵Ian Romanick4-4/+25
Booleans It appears that only softpipe, llvmpipe, and d3d12 hit any of this code. If some NIR-to-TGSI driver that doesn't have native integers (e.g., i915 or r300) wants to use this path in the future, it should be easy to add float32 support. Reviewed-by: Jesse Natalie <> Acked-by: Alyssa Rosenzweig <> Part-of: <>
18 hoursgallium/draw: Enable aapoint NIR helpers to generate bool1, bool32, or ↵Ian Romanick9-21/+85
float32 Booleans Fixes arb_point_parameters-point-attenuation on G33. The crash in point-line-no-cull is fixed, but the test still fails. Reviewed-by: Jesse Natalie <> Acked-by: Alyssa Rosenzweig <> Part-of: <>
33 hoursetnaviv: free pm queries dynarray on screen destroyLucas Stach1-0/+2
CC: mesa-stable Signed-off-by: Lucas Stach <> Reviewed-by: Christian Gmeiner <> Part-of: <>
2 dayszink: set VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT when using DBMike Blumenkrantz1-0/+6
cc: mesa-stable Part-of: <>
2 dayszink: disable bindless texture ext with descriptor bufferMike Blumenkrantz1-1/+1
it's illegal to mix-and-match DB and non-DB descriptor usage, so disable this until I finish the implementation cc: mesa-stable Part-of: <>
2 dayszink: always set RESOURCE usage for descriptor buffersMike Blumenkrantz1-1/+3
all types of descriptors may use buffer-type descriptors, even samplers cc: mesa-stable Part-of: <>
2 dayszink: assert that buffer descriptor usage is populated before bindMike Blumenkrantz1-0/+1
this is illegal Part-of: <>
2 dayszink: set vkusage/vkflags for buffer resource objectsMike Blumenkrantz1-0/+2
this needs to be populated for other places in the driver that need it cc: mesa-stable Part-of: <>
2 dayszink: add VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT for buffers if ext is ↵Mike Blumenkrantz1-0/+2
enabled cc: mesa-stable Part-of: <>
2 dayszink: fix heap/memory type selectionMike Blumenkrantz1-7/+7
the memory type index still needs to be used for suballocation over the heap since that's the actual type of allocation being used Fixes: f6d3a5755f6 ("zink: zink_heap isn't 1-to-1 with memoryTypeIndex") Part-of: <>
2 daysRevert "zink: allow direct memory mapping for any COHERENT+CACHED buffer"Mike Blumenkrantz2-4/+1
This reverts commit a3552048c7e7b8afebfc99caac6d555439ddf2bc. on some drivers this catches qbos, which then hits the below assert. needs more investigation Fixes: a3552048c7e ("zink: allow direct memory mapping for any COHERENT+CACHED buffer") Part-of: <>
2 daystrace: Don't use italic escape code.Jose Fonseca1-3/+1
It's not widely supported, and often emulated with invert highlight, which is very distracting. Part-of: <>
2 daysllvmpipe: Honor zero sample_mask when multisample is disabled.Jose Fonseca5-3/+35
The JIT generated FS shader has logic to obey sample mask when: multisample is enabled, or multisample is disabled but FS writes sample mask and pipe_rasterizer_state::no_ms_sample_mask_out. However it did not handle the case where multisample was disabled, FS did not write sample_mask, and sample mask was zero. Instead it relied upon the setup to discard the primitives, but that went away with commit da5840f3. We could restore the discard on zero mask behavior, but we would again blurring the semantics of rasterization discard. Instead this change adds logic to primitive setup to cull the primitives when sample mask is zero. Fixes: da5840f3 ("llvmpipe: Faithfully honour pipe_rasterizer_state::rasterizer_discard flag") Part-of: <>
2 daysmeson: do not reconstruct ICD pathsErik Faye-Lund1-2/+2
Meson will already construct these paths for us, so let's reuse them instead of throwing away the result and recontstructing them. Reviewed-by: Eric Engestrom <> Part-of: <>
3 dayszink: reorder commands more aggressivelyMike Blumenkrantz2-2/+4
by starting resources in the unordered state in a given batch, they gain more opportunities to be promoted to the barrier cmdbuf and avoid breaking renderpasses Part-of: <>
3 daysfreedreno: Don't sync timestamps while perfetto isn't running.Emma Anholt1-0/+4
This may help with the regression in trace perf testing since enabling perfetto on the test drivers. Part-of: <>
3 daysvirgl: remove unused virgl_encoder_inline_writeGert Wollny2-54/+0
The only user was removed with be8eeb3b59abf18d6b706016c5fa05b746d88f65 virgl: remove unused virgl_transfer_inline_write so drop this code too. Signed-off-by: Gert Wollny <> Part-of: <>
3 daysfrontends/va: revert commit 0b02db30Ruijing Dong1-41/+28
revert commit 0b02db30 as it is not a proper way to fix av1 decoding 10bit issue. this is corresponding to the fix in Signed-off-by: Ruijing Dong <> Reviewed-by: Boyuan Zhang <> Part-of: <>
3 dayskopper: Do not free the given screen in initScreen implementationCorentin Noël1-1/+0
The given screen is already freed by the caller in case a NULL-pointer is returned by the implementation. Cc: mesa-stable Signed-off-by: Corentin Noël <> Reviewed-By: Mike Blumenkrantz <> Part-of: <>
3 dayslima/ci: Add more piglit unsupported tests to skipErico Nunes1-0/+46
It is not an exhaustive list but it helps by reducing the bulk of "Failed to create waffle_context for OpenGL [34].x" errors in the logs by thousands of occurrences and those are probably not going to be needed. Signed-off-by: Erico Nunes <> Acked-by: Daniel Stone <> Reviewed-by: David Heidelberg <> Reviewed-by: Vasily Khoruzhick <> Part-of: <>
4 daysllvmpipe: Ensure floating point SSE state is reset regardless of the write mask.Jose Fonseca1-5/+5
The code emitted by lp_build_fpstate_set to reset the FP state could be jumped over when the write mask was zero, leading to denormals not being flushed to zero. Spotted by Roland Scheidegger. Part-of: <>
4 daysci: Add manual rules variations to disable irrelevant driver jobs.Emma Anholt5-10/+7
If you're only affecting one or a couple of drivers, it would be nice if your pipeline buttons on the web UI weren't full of manual run buttons for all the other drivers. This is a bunch of duplicated lines, but less than it could have been now that we have !references. In some of these cases (i915g, nouveau, etnaviv), we have no non-manual jobs for those drivers, so I could have just rewritten the original "driver-rules" to "driver-manual-rules". I decided to keep things consistent between drivers, though, because this is all esoteric enough to readers already without making different drivers' rules look different. Fixes: #4891 Acked-by: David Heidelberg <> Part-of: <>
4 daysci: Move the performance jobs' allow_failure:true to the gl rules.Emma Anholt1-2/+1
This helps clarify what's going on with these magic manual jobs. Acked-by: David Heidelberg <> Part-of: <>
4 dayszink: Fix non debug builds failing to compile onSidney Just2-2/+2
Part-of: <>
4 dayszink: validation ci updatesMike Blumenkrantz1-33/+1
Part-of: <>
4 dayszink: force GENERAL layout for all fb attachments with image bindsMike Blumenkrantz1-2/+9
this is incredibly stupid, but KHR-GL46.texture_view.coherency does all kinds of rasterization discard draws with fb attachments bound as images, and there's no other sane way to catch it dynamically Part-of: <>
4 dayszink: update sampler layout when detecting feedback loop for first timeMike Blumenkrantz1-0/+2
ensure synchronization between descriptor layout and layout used here Part-of: <>
4 dayszink: return false for implicit feedback loop check with image bindsMike Blumenkrantz1-1/+2
this can only be GENERAL layout so it's not a feedback loop ever Part-of: <>
4 dayszink: don't skip repeated handling feedback loopsMike Blumenkrantz1-1/+4
these can persist across multiple draws, so return true if it's still a feedback loop Part-of: <>
4 dayszink: move barrier jit to zink_context.cMike Blumenkrantz3-80/+86
this gives access to all the good descriptor functions and enshrinkens the c++ file size Part-of: <>
4 dayszink: fix VK_DYNAMIC_STATE_LINE_WIDTH usageMike Blumenkrantz4-17/+10
add a special tracker here to set the state only when necessary Fixes: 659c39fafbb ("zink: rework primitive rasterization type logic") Part-of: <>
4 daysintel: Add kmd_type parameter to necessary intel_gem.h functionsJosé Roberto de Souza2-3/+4
Here adding kmd_type parameter to intel_gem_read_render_timestamp(), intel_gem_can_render_on_fd() and intel_gem_supports_protected_context(). Those 3 functions will have Xe implementations, the other functions in intel_gem.h will not be called by Xe code paths so not adding kernel_driver_type to it. Reviewed-by: Marcin Ślusarz <> Signed-off-by: José Roberto de Souza <> Part-of: <>
4 daysintel: Add intel_kmd_type parameter to intel_engine_get_info()José Roberto de Souza1-1/+2
This will be needed to execute proper function to fetch engines from kernel mode driver. Reviewed-by: Marcin Ślusarz <> Signed-off-by: José Roberto de Souza <> Part-of: <>
4 daysradeonsi: correctly declare YUV420_10 RT Format support for AV1Philip Langdale1-0/+3
This appears to have been an oversight. AV1 Main profile requires support for both 8bit and 10bit, and so we should always declare support for the YUV420_10 RT Format. This support then cascades into supporting the appropriate surface formats and meets expectations of vaapi clients (especially ffmpeg based) on how to detect support for these formats. Note that the commit [0b02db3007] was also made with the intention of fixing this problem, but it does so in a non-idiomatic way. With that change, there is still no declared YUV420_10 RT Format, and instead the P010 surface format is reported under the YUV420 RT Format. This is not going to work with all vaapi clients. I recommend that this commit be reverted. Signed-off-by: Philip Langdale <> Reviewed-by: Ruijing Dong <> Part-of: <>
4 daysci/android: add android to the ciHelen Koike2-0/+20
Add android to the ci, so we can test mesa on it. Add debian/x86_test-android and test-android jobs. One build the container to run tests, and the other execute the tests. Android is executed on top of cuttlefish VM with virgl. Mesa libs are replaced on the cuttlefish image, and deqp and deqp-runner are used to execute tests. Co-developed-by: Tomeu Vizoso <> Signed-off-by: Helen Koike <> Reviewed-by: Sergi Blanch Torné <> Part-of: <>
5 dayspanfrost: fix off-by-one when exporting format modifiersItalo Nicola1-2/+1
`count` should not be incremented before the check, because it causes the modifiers array to be filled starting from position 1 instead of 0. This bug causes one less format modifier to be available than would otherwise be expected, which could then lead to a dmabuf query failing in situations where a supported modifier wouldn't be advertised. It also causes garbage data to be advertised as a modifier in position 0 of the array, although this is not very likely to cause issues. Fixes: 2a1217513 ("panfrost: Implement panfrost_query_dmabuf_modifiers") Cc: mesa-stable Signed-off-by: Italo Nicola <> Reviewed-by: Daniel Stone <> Reviewed-by: Alyssa Rosenzweig <> Part-of: <>
5 daysradeonsi/gfx11: fix ge_cntl programmingPierre-Eric Pelloux-Prayer1-7/+2
gfx11 renamed PRIM_GRP_SIZE to VERTS_PER_SUBGRP but another change was was missed. Update our code based on PAL's UniversalCmdBuffer::CalcGeCntl function (especially useVgtOnchipCntlForTess being false for gfx11). Fixes: 25a66477d02 ("radeonsi/gfx11: register changes") Reviewed-by: Marek Olšák <> Part-of: <>
5 daysradeonsi/gfx11: clamp PRIM_GRP_SIZEPierre-Eric Pelloux-Prayer1-1/+4
Legal range of values is [1, 256]. Reviewed-by: Marek Olšák <> Part-of: <>
5 dayswinsys/amdgpu: use DMA_BUF_SET_NAME_B if availablePierre-Eric Pelloux-Prayer1-0/+13
Give a name to dma-buf. This name appears in /sys/kernel/debug/dma_buf/bufinfo and could be useful to debug dma-buf: Dma-buf Objects: size flags mode count exp_name ino name 00606208 00000002 00080007 00000003 drm 00192014 2321705-glxgears The name is only added to non-shared buffer, to avoid overwriting an existing name when exporting an imported buffer (otherwise all dma-buf will pretend to be created by XWayland). Reviewed-by: Marek Olšák <> Part-of: <>
5 daysiris: Add missing untyped data port flush on PIPELINE_SELECTKenneth Graunke1-0/+2
This is needed when switching away from GPGPU mode. See the previous commit for anv. This is not likely to make a practical difference for iris because it never switches back and forth between modes like anv. Fixes: 172e0b0ebff ("iris: Update PIPELINE_CONTROL flush when switching pipeline mode in TGL+") Reviewed-by: Lionel Landwerlin <> Reviewed-by: José Roberto de Souza <> Part-of: <>
5 daysradeonsi: remove some shadow reg optimization for bf1 gameYogesh Mohan Marimuthu3-39/+22
This patch removes below shadow reg optimization. This is done for Vega64 battlefield 1 crash when shadow regs enabled. + reset only dirty states with buffers in si_pm4_reset_emitted() + various draw states in si_begin_new_gfx_cs() v2: remove first_cs parameter from si_pm4_reset_emitted() (Marek Olšák) Signed-off-by: Yogesh Mohan Marimuthu <> Reviewed-by: Marek Olšák <> Part-of: <>
5 daysac,radeonsi: move shadow regs create ib preamble function to amd commonYogesh Mohan Marimuthu1-155/+13
The si_create_shadowing_ib_preamble() function can be reused from radv also. Hence it is moved. Signed-off-by: Yogesh Mohan Marimuthu <> Reviewed-by: Marek Olšák <> Acked-by: Pierre-Eric Pelloux-Prayer <> Part-of: <>
5 daysci/zink: Update radv xfails for the recent shadow fixes.Emma Anholt2-102/+15
Part-of: <>
5 daysci/zink: Update TGL full-run xfails.Emma Anholt1-18/+3
arb_shader_texture_lod-texgradcube was a fail incorrectly removed in the sahdow changes. line-smooth-* is new piglit coverage. Haven't pinpointed when the rest were fixed. Part-of: <>
5 daysci/zink: Add coverage using the vulkan validation layer on lvp.Emma Anholt3-0/+235
Let's make sure we aren't introducing new validation failures as development proceeds. Basically, we record the current set of known validation failures from the CTS, and for any validation failure we have the layer log it and abort. I had started encoding xfails from piglit, but it turns out that piglit and the validation layer fight about the teardown process, producing use-after-frees. Part-of: <>
5 dayszink: Re-emit the SpvBuiltInSampleMask access chain each load.Emma Anholt1-9/+11
Otherwise, the access chain you emitted last time may not dominate the current use. Fixes the following validation failure in dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_sample.multisample_texture_2: UNASSIGNED-CoreValidation-Shader-InconsistentSpirv(ERROR / SPEC): msgNum: 7060244 - Validation Error: [ UNASSIGNED-CoreValidation-Shader-InconsistentSpirv ] Object 0: handle = 0x55cf3cea2c60, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x6bbb14 | SPIR-V module not valid: ID '67[%67]' defined in block '23[%23]' does not dominate its use in block '31[%31]' Fixes: 8899f6a19857 ("zink: fix gl_SampleMaskIn spirv generation") Part-of: <>
5 dayszink: Fix up mismatches of memory model vs addressing model.Emma Anholt1-11/+9
MemoryModelVulkan was left out for CSes using it. Cc: mesa-stable Part-of: <>
5 dayszink: Fix validation failure for maxLod < minLod.Emma Anholt1-1/+1
GL lets you set a silly state, so do something plausible instead of undefined. Cc: mesa-stable Part-of: <>
5 dayszink: Add missing Flat decorations on some inputs.Emma Anholt1-0/+11
Fixes validation failures: Test case 'dEQP-GLES31.functional.android_extension_pack.shaders.es32.extension_directive.oes_sample_variables'.. MESA: error: Validation Error: [ UNASSIGNED-CoreValidation-Shader-InconsistentSpirv ] Object 0: handle = 0x563a1838b790, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x6bbb14 | SPIR-V module not valid: [VUID-StandaloneSpirv-Flat-04744] Fragment OpEntryPoint operand 31 with Input interfaces with integer or float type must have a Flat decoration for Entry Point id 4. %gl_SampleId = OpVariable %_ptr_Input_uint Input Test case 'KHR-GL46.shader_ballot_tests.ShaderBallotAvailability'.. MESA: error: Validation Error: [ UNASSIGNED-CoreValidation-Shader-InconsistentSpirv ] Object 0: handle = 0x5558e12f17e0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x6bbb14 | SPIR-V module not valid: [VUID-StandaloneSpirv-Flat-04744] Fragment OpEntryPoint operand 28 with Input interfaces with integer or float type must have a Flat decoration for Entry Point id 4. %gl_SubgroupLocalInvocationId = OpVariable %_ptr_Input_uint Input Cc: mesa-stable Part-of: <>
5 dayszink: Fatal error if requesting validation and we fail to load the layer.Emma Anholt1-0/+8
Part-of: <>