summaryrefslogtreecommitdiff
path: root/src/gallium
AgeCommit message (Collapse)AuthorFilesLines
49 min.util: add dri config option force_compat_shadersTimothy Arceri3-0/+3
This allows us to force all shaders to offer shader features only provided to compatibility shaders. Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14040>
2 hoursiris: Rename is_render_target to is_dest in a few blit functionsKenneth Graunke1-10/+9
When targeting the blitter or compute engines, the destination is not really a render target. But it's still useful to know whether we're talking about the source or destination. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14094>
3 hoursr300: Fix mis-optimization turning -1 - x into 1 - x.Emma Anholt2-24/+4
Cc: mesa-stable Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14092>
3 hoursr300: Turn a comment about presub into an assert.Emma Anholt1-2/+6
Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14092>
3 hoursr300: Add deqp expectations for RV515.Emma Anholt2-0/+579
This may not be a complete set, as I haven't been able to run dEQP-GLES2 to completion (GPU hangs at some point, no particular test seems to be guilty). But this will help me assess NIR-to-TGSI for the driver. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14092>
4 hoursfixup! gallium/swr: Remove driver sourceDylan Baker1-1/+1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11264>
4 hoursgallium/swr: Remove common code and build optionsJan Zielinski8-60/+7
This commit removes all OpenSWR references from common Mesa code and build system. Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11264>
4 hoursgallium/swr: Remove driver sourceJan Zielinski178-85594/+0
The OpenSWR will be maintained on a classic/LTS branch. Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11264>
4 hoursnv50/nir: Switch to the common NIR optionsPierre Moreau3-35/+9
Reviewed-by: Karol Herbst <kherbst@redhat.com> Signed-off-by: Pierre Moreau <dev@pmoreau.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14069>
5 hoursmeson: restore dri.pc fileDylan Baker1-0/+16
Which was accidentally deleted. Fixes: ea8fa10edd1f8976825c6aad05b904179a2deca3 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5717 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14090>
6 hoursiris/ci: comment out iris-cml-traces-performance due to hw unavailableDave Airlie1-1/+1
This job seems to be timing out, daniels said hw was having some availability issues, so turn off for now. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14088>
9 hoursllvmpipe: Fix Wpointer-to-int-castMichel Zou1-1/+1
Fixes: 2771fd4a (gallium, windows: Use HANDLE instead of FD for external objects) Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14021>
9 hoursmesa/st: Remove GL_ARB_depth_clamp emulation support.Emma Anholt1-2/+0
This was useful for emulating GL 3.2 in virgl on a GLES3 host renderer, before GL_EXT_depth_clamp introduced the ability for hardware drivers to expose the feature on GLES. Now that we have that, the desktop-GL-capable HW that virgl cares about can expose desktop GL even on its GLES renderer on the host without this emulation. I don't think anyone particularly cares about hitting higher GL versions on actually-core-GLES hosts with virgl. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Acked-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13729>
14 hourspanfrost: Only build GPU indirect kernels for v7Alyssa Rosenzweig1-3/+17
These kernels aren't tested (and are probably broken) elsewhere. Don't waste cycles trying to compile for other architectures. This reduces the amount of code that needs to be ported to a new architecture. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14064>
15 hoursvirgl: Disable cache for VIRGL_BIND_SAMPLER_VIEWCorentin Noël3-7/+0
this currently makes the dEQP-GLES31.functional.image_load_store.buffer.image_size.readonly_12 test fail when used simultaneously with other tests that lead to hitting the cache. For instance the combination of: dEQP-GLES31.functional.image_load_store.buffer.atomic.or_r32i_result dEQP-GLES31.functional.image_load_store.buffer.atomic.or_r32i_return_value dEQP-GLES31.functional.image_load_store.buffer.image_size.readonly_12 results in a failure of the readonly_12 test. Deflag dEQP-GLES31.functional.image_load_store.buffer.image_size.{read,write}only_12 as flakes. Signed-off-by: Corentin Noël <corentin.noel@collabora.com> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14045>
3 daysnv50: 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>
3 daysnv50,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>
3 daysmesa: move common/dri into galliumDylan Baker9-6/+2271
There are no other consumers, so we can just move this into gallium and out of mesa. Reviewed-by: Emma Anholt <emma@anholt.net> Acked-by: Jason Ekstrand <jason@jlekstrand.net> Acked-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10153>
3 daysmesa: Merge libmesa_gallium and libmesa_commonDylan Baker8-8/+8
Since we don't have libmesa_classic anymore, we don't nee to split these, and can save a target/ar invocation by not having two targets. Plus it's just conceptually simpler Reviewed-by: Emma Anholt <emma@anholt.net> Acked-by: Jason Ekstrand <jason@jlekstrand.net> Acked-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10153>
3 daysmesa/x11: Remove the swrast-classic-based fake libGLAdam Jackson1-1/+1
If you want this you will almost certainly be happier with the gallium version, giving you llvmpipe instead of swrast-classic. Reviewed-by: Emma Anholt <emma@anholt.net> Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Acked-by: Jason Ekstrand <jason@jlekstrand.net> Acked-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10153>
3 daysd3d12: Handle depth readback on drivers that require full-resource copies ↵Jesse Natalie2-29/+102
for depth Reviewed-by: Bill Kristiansen <billkris@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14051>
3 daysfreedreno/a5xx: enable OES_gpu_shader5Ilia Mirkin1-4/+1
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>
4 daysv3d: enable ARB_texture_viewJuan A. Suarez Romero1-0/+1
v2 (Iago): - Add comments to failing tests Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13409>
4 daysv3d: enable ARB_texture_buffer_object and ARB_texture_buffer_rangeAlejandro Piñeiro1-0/+6
Through their specific PIPE_CAP. v2 (Iago) - Add comment in test failure Signed-off-by: Alejandro Piñeiro <apinheiro@igalia.com> Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13409>
4 daysgallium: add new PIPE_CAP_IMAGE_STORE_FORMATTEDJuan A. Suarez Romero18-1/+25
This capability is enabled for drivers supporting formatless image writing in shader. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13409>
4 daysv3d: clamp clear colorJuan A. Suarez Romero1-0/+12
On clearing a color buffer, clamp the passed color values to the allowed ones. Hardware do clamping for TLB values, but not for clear values. v2 (Iago) - Add comment about hardware-based clamping on clear values. v3 (Iago): - Use format utils to simplify clamping - Move clamp color function as utility Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13409>
4 daysgallium/util: add helper to clamp colors to valid rangeJuan A. Suarez Romero2-0/+30
v3 (Iago): - Fix comment. Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13409>
4 daysv3d: restrict formats supported for PIPE_BIND_SHADER_IMAGEAlejandro Piñeiro1-0/+17
So far we were relying on the supported formats filtering when creating images from the user API. But for some other (internal) uses, some of the formats that pass the filter need to be restricted when binding them as shader images, as they are not supported for this case. v3 (Iago): - Change commit message. Signed-off-by: Alejandro Piñeiro <apinheiro@igalia.com> Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13409>
4 daysv3d: add support for no buffer object boundAlejandro Piñeiro1-0/+14
From the GL_OES_texture_buffer spec: "If no buffer object is bound to the buffer texture, the results of the texel access are undefined." this can be interpreted as allowing any result to come back, but not terminate the program. The current solution is not entirely complete, as it could still try to get a wrong address for the shader state address. This can be checked with piglit test arb_texture_buffer_object-render-no-bo; the test is skip because it requires OpenGL 3.1, but if overriding the version then it will crash. Signed-off-by: Alejandro Piñeiro <apinheiro@igalia.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13409>
4 daysv3d: support for texture buffer objectsAlejandro Piñeiro4-18/+95
This commit handles the support for texture buffer objects. In general it is mostly about using the buffer info from the pipe_image_view instead of the texture info. v2: - Rework some assertions (Iago) - Remove needless comment (Alejandro) - Fix comment typos (Iago) v3: - Fix typos (Iago) Signed-off-by: Alejandro Piñeiro <apinheiro@igalia.com> Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13409>
4 daysnir: add NIR_DEBUG envvarJuan A. Suarez Romero4-10/+6
Move all the NIR related debug environmental variables in a single NIR_DEBUG one. Use NIR_DEBUG=help to print all the available options. v2: - Use a macro to simplify (Marcin, Jason) - Remove wrong changes (Marcin) v3 (Marcin): - Remove rendundant NIR mentioning in option descriptions. - Unwrap option descriptions. - Ensure the constant is unsigned. - Use extern array to remove switch. v4: - Add missing kernel shader (Jason). - Add unlikely() (Marcin). Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13840>
4 daysv3d,v3dv: don't disable EZ for passthrough Z writesIago Toral Quiroga1-1/+3
The early-Z test uses Z values produced from FEP, so when we write Z from a shader we need to disable EZ. However, there are some instances where want to write the FEP-Z from the shader, in which case we would not need to disable EZ. Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14037>
4 daysiris/batch: Add support for engines contextsJordan Justen2-12/+105
As described in "intel: Add intel_gem_create_context_engines", this should make it easier to support an I915_ENGINE_CLASS_FOO engine in the future. For example, maybe something like: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/98c3bbd5b54eb9914329155bfeddd0ad88f96ad2 Reworks: * Tweak engine counting logic (s-b Ken) * Tweak init of engine_classes in iris_init_engines_context (s-b Ken) * Add STATIC_ASSERT on engine_classes (Jordan) * Paulo: Call iris_hw_context_set_unrecoverable() for engines context * Rename to has_engines_context (s-b Paulo) * Jordan: Handle creating a new engines context when the context needs to be replaced. * Ken: Tweak context destroy code paths. * Call iris_lost_context_state on every batch. (s-b Ken) Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12692>
4 daysiris: Make iris_kernel_context_get_priority() publicJordan Justen2-3/+4
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12692>
4 daysiris: Destroy all batches with a new iris_destroy_batches() functionJordan Justen3-4/+10
Suggested-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12692>
4 daysiris: Move away from "hw" for some context terminologyJordan Justen6-15/+15
Kernel contexts can take two forms now. In the older case a kernel context will have a single hardware context. With an "engines" based context, the context can now have 1 or more hardware contexts. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12692>
4 daysiris/batch: Add exec_flags fieldJordan Justen2-1/+3
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12692>
4 daysiris: extract iris_hw_context_set_unrecoverable()Paulo Zanoni2-10/+19
We're going to add a second caller. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12692>
4 daysiris/batch: Move kernel context init to iris_init_non_engine_contextsJordan Justen1-10/+17
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12692>
4 daysiris: Add iris_init_batchesJordan Justen3-7/+11
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12692>
4 dayszink/ci: Add GL4.6 tessellation flakeDaniel Stone1-0/+1
Seen in https://gitlab.freedesktop.org/mesa/mesa/-/jobs/16318152#L636 which is extremely unrelated. Signed-off-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14010>
4 daysci: Uprev piglitGuilherme Gallo2-0/+2
Bring up the piglit replay jwt-file argument feature. Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14004>
5 daysfreedreno/a3xx: add some legacy formatsIlia Mirkin1-0/+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>
5 daysfreedreno/a6xx: Set the tess BO ptrs in the program stateobj.Emma Anholt2-25/+27
Saves some draw-time work for tess. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13851>
5 daysfreedreno/a6xx: Skip emitting tess BO pointers past the shader's constlen.Emma Anholt1-2/+5
Some shaders don't want these pointers, and going past the constlen would potentially overwrite consts from other draws. This is a port of a fix from turnip. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13851>
5 daysfreedreno/a6xx: Allocate a fixed-size tess factor BO.Emma Anholt9-79/+48
Saves per-batch allocations, avoids reallocation for various vertex counts, and avoids needing the indirect tess addrs constobj so that we could emit the relocs to the tess BO after we'd emitted all the draws. Also apparently it fixes one of our CTS fails. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13851>
5 daysd3d12: Support compat level 330Jesse Natalie3-166/+11
Reviewed-by: Bill Kristiansen <billkris@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14001>
5 daysiris: Drop redundant iris_resource_disable_aux callNanley Chery1-4/+2
Drop the call to iris_resource_disable_aux in iris_resource_configure_aux. With the previous patches, we no longer create CCS surfaces and pick the AUX_NONE usage. As a result, if the aux usage is NONE, all iris_resource fields already indicate that aux is disabled. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12398>
5 daysiris: Enable CCS_E on 32-bpc float formats on TGL+Nanley Chery1-4/+5
Allow CCS_E on these formats on TGL+ for a couple reasons: 1) TGL doesn't have the option to fall back to CCS_D/fast-clears like prior platforms do. 2) The CCS compression scheme on TGL improves to encode more than 3 levels of compression. This should help floating point formats. In my measurements, enabling this on TGL results in a minor performance improvement on Paraview (+0.06%) rather than a major regression like on prior platforms. The improvement was measured by taking the average of 3 runs of: waveletvolume.py -d 256 -f 600. Also, the Intel performance CI reports a 3.81% ±0.12% FPS improvement in Bioshock Infinite. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12398>
5 daysCI/d3d12: Add a quick_shader runJesse Natalie2-4/+13145
Refactor the YML for some DRY, and rename the existing pass from "-windows" to "-quick_gl" to disambiguate it. Reviewed-by: Enrico Galli <enrico.galli@intel.com> Acked-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13902>