- 22 Jun, 2020 1 commit
-
-
Neil Roberts authored
Adds PIPE_CAP_PRIMITIVE_RESTART_FIXED_INDEX which is a subset of the primitive restart cap for when the hardware can only support the fixed indices specified in GLES. The switch statements were automatically modified with this command: find \( \( -name \*.cpp -o -name \*.c \) \! -type l \) \ -exec sed -i -r \ 's/^(\s*case\s+PIPE_CAP_PRIMITIVE_RESTART)\s*:.*$/\0\n\1_FIXED_INDEX:/' \ {} \; v2: Add a note in screen.rst Reviewed-by: Eric Anholt <eric@anholt.net> (v1) Reviewed by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <!5559>
-
- 02 Jun, 2020 1 commit
-
-
Marek Olšák authored
Reviewed-by:
Rob Clark <robdclark@chromium.org> Part-of: <!5002>
-
- 22 Apr, 2020 1 commit
-
-
Alejandro Piñeiro authored
Fixes all the ARB_texture_query_lod piglit tests, and needed to get the Vulkan CTS textureQueryLOD passing with the ongoing Vulkan driver. Note that LOD Query bit flag became only available on V42 of the hw, but the v3d40_tex is using V41 as reference. In order to avoid setting up the infrastructure to support both v41 and v42, we manually set the bit if the device version is the correct one. We also fix how the ARB_texture_query_lod (so EXT_texture_query_lod) is exposed. Before this commit it was always exposed (wrongly as it was not really supported). Now it is exposed for devinfo.ver >= 42. v2: move _need_sampler helper to nir.h (Eric Anholt) Reviewed-by:
Eric Anholt <eric@anholt.net> Part-of: <!4677>
-
- 26 Feb, 2020 2 commits
-
-
Marek Olšák authored
Reviewed-by:
Kristian H. Kristensen <hoegsberg@google.com> Tested-by: Marge Bot <!3722> Part-of: <!3722>
-
Marek Olšák authored
Reviewed-by:
Kristian H. Kristensen <hoegsberg@google.com> Part-of: <!3722>
-
- 24 Feb, 2020 1 commit
-
-
Eric Anholt authored
This saves a bunch of hassle in handling derefs in the backend, and would be needed for reasonable handling of dynamic indexing of image arrays. Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> Part-of: <!3728>
-
- 16 Dec, 2019 2 commits
-
-
Iago Toral authored
Reviewed-by:
Alejandro Piñeiro <apinheiro@igalia.com>
-
Iago Toral authored
V3D can do indirect inputs so we don't need it. Also, the lowering produces horrible if-ladder code that is particularly bad for geometry shaders where inputs are always arrays and shader bodies usually have a loop indexing into them. This fixes a couple of geometry shader tests in CTS that would fail to register allocate otherwise. There are no changes in shader-db. Reviewed-by:
Alejandro Piñeiro <apinheiro@igalia.com>
-
- 14 Nov, 2019 1 commit
-
-
Eric Anholt authored
To make PIPE_FORMATs usable from non-gallium parts of Mesa, I want to move their helpers out of gallium. Since u_format used util_copy_rect(), I moved that in there, too. I've put it in a separate directory in util/ because it's a big chunk of related code, and it's not clear to me whether we might want it as a separate library from libmesa_util at some point. Closes: #1905Acked-by:
Marek Olšák <marek.olsak@amd.com> Reviewed-by:
Kristian H. Kristensen <hoegsberg@google.com> Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
- 23 Oct, 2019 1 commit
-
-
Erik Faye-Lund authored
This reverts commit 9d0523b5. Reviewed-by:
Eric Anholt <eric@anholt.net> Reviewed-by:
Jose Maria Casanova <jmcasanova@igalia.com>
-
- 18 Oct, 2019 3 commits
-
-
José Casanova Crespo authored
This will expose GL_EXT_primitive_bounding_box and GL_OES_primitive_bounding_box after previous commits expose OpenGL ES 3.1 once Compute Shaders are available. Reviewed-by:
Eric Anholt <eric@anholt.net>
-
Iago Toral authored
This adapts the v3d driver to the new CL submit ioctl interface that allows the driver to request a flush of the caches after the render job has completed. This seems to eliminate the kernel write violation errors reported during CTS and Piglit excutions, fixing some CTS tests and GPU resets along the way. v2: - Adapt to changes in the kernel side. - Disable shader storage and shader images if the kernel doesn't implement cache flushing. Fixes CTS tests: KHR-GLES31.core.shader_image_size.basic-nonMS-fs-float KHR-GLES31.core.shader_image_size.basic-nonMS-fs-int KHR-GLES31.core.shader_image_size.basic-nonMS-fs-uint KHR-GLES31.core.shader_image_size.advanced-nonMS-fs-float KHR-GLES31.core.shader_image_size.advanced-nonMS-fs-int KHR-GLES31.core.shader_image_size.advanced-nonMS-fs-uint KHR-GLES31.core.shader_atomic_counters.advanced-usage-many-draw-calls2 KHR-GLES31.core.shader_atomic_counters.advanced-usage-draw-update-draw KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-fs-int KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-fs-std140-matR KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-fs-std140-struct KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-fs-std430-matC-pad KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-fs-std430-vec Reviewed-by:
Eric Anholt <eric@anholt.net>
-
Eric Anholt authored
Now that the UAPI has landed, add the pipe_context function for dispatching compute shaders. This is the last major feature for GLES 3.1, though it's not enabled quite yet.
-
- 17 Oct, 2019 1 commit
-
-
Erik Faye-Lund authored
This triggers lowering in the state-tracker, which makes things a bit simpler. Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
- 10 Oct, 2019 1 commit
-
-
Marek Olšák authored
Reviewed-by:
Timothy Arceri <tarceri@itsqueeze.com> Reviewed-by:
Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org>
-
- 01 Aug, 2019 1 commit
-
-
Jason Ekstrand authored
We have a cap bit for gallium and a GLSL compiler flag to control this. Just trust what GLSL gives us and stop forcing it. In order for this to be safe, we have to advertise another cap in some of the gallium drivers. Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Eric Anholt <eric@anholt.net>
-
- 23 Jul, 2019 1 commit
-
-
Ilia Mirkin authored
This is a relatively minimal change to adjust all the gallium interfaces to use bool instead of boolean. I tried to avoid making unrelated changes inside of drivers to flip boolean -> bool to reduce the risk of regressions (the compiler will much more easily allow "dirty" values inside a char-based boolean than a C99 _Bool). This has been build-tested on amd64 with: Gallium drivers: nouveau r300 r600 radeonsi freedreno swrast etnaviv v3d vc4 i915 svga virgl swr panfrost iris lima kmsro Gallium st: mesa xa xvmc xvmc vdpau va Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Acked-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
- 17 Jul, 2019 1 commit
-
-
Andreas Bergmeier authored
In common we can use implementation for Vulkan.
-
- 10 Jul, 2019 1 commit
-
-
Erik Faye-Lund authored
PIPE_CAP_SM3 has always been an odd one out of all our caps. While most other caps are fine-grained and single-purpose, this cap encode several features in one. And since OpenGL cares more about single features, it'd be nice to get rid of this one. As it turns, this is now relatively simple. We only really care about three features using this cap, and those already got their own caps. So we can remove it, and make sure all current drivers just give the same response to all of them. The only place we *really* care about SM3 is in nine, and there we can instead just re-construct the information based on the finer-grained caps. This avoids DX9 semantics from needlessly leaking into all of the drivers, most of who doesn't care a whole lot about DX9 specifically. Signed-off-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Acked-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
- 13 May, 2019 2 commits
-
-
Eric Anholt authored
The V3D 4.2 HW has a limit to MSAA texture sizes of 4096. With non-MSAA, we can go up to 7680 (actually probably 8138, but that hasn't been validated by the HW team). Exposing 7680 in X11 will allow dual 4k displays.
-
Eric Anholt authored
The _LEVELS assumes that the max is always power of two. For V3D 4.2, we can support up to 7680 non-power-of-two MSAA textures, which will let X11 support dual 4k displays on newer hardware. Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
- 26 Apr, 2019 1 commit
-
-
Eric Anholt authored
This reverts commit ccce9409, leaving a note as to why we had to (corruption in chromium, breaking some GLES3.1 tests).
-
- 25 Apr, 2019 1 commit
-
-
Eric Anholt authored
The CTS fails on dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter.*vertex when they are enabled, due to the VS being run for both bin and render. I think this behavior is expected to be valid, but I can't find text in atomic counters or SSBO specs saying so (the closed I found was in shader_image_load_store). Just disable it for now, since the closed source driver doesn't expose vertex atomic counters/SSBOs either.
-
- 12 Apr, 2019 4 commits
-
-
Eric Anholt authored
We can use the same register spilling infrastructure for our loads/stores of indirect access of temp variables, instead of doing an if ladder. Cuts 50% of instructions and max-temps from 2 KSP shaders in shader-db. Also causes several other KSP shaders with large bodies and large loop counts to not be force-unrolled. The change was originally motivated by NOLTIS slightly modifying register pressure in piglit temp mat4 array read/write tests, triggering register allocation failures.
-
Eric Anholt authored
We were missing a * 4 even if the particular hardware matched our assumption.
-
Eric Anholt authored
While waiting for the CSD UABI to get reviewed, I keep having to rebase the CS patch. Just land the compiler side for now to keep it from diverging. For now this covers just GLES 3.1 compute shaders, not CL kernels.
-
Eric Anholt authored
-
- 05 Apr, 2019 1 commit
-
-
Eric Anholt authored
4.1 and 4.2 both have the same 16k limit, but it I'm seeing GPU hangs in the CTS at 8k and 16k. 4k at least lets us get one 4k display working. Cc: mesa-stable@lists.freedesktop.org
-
- 21 Mar, 2019 1 commit
-
-
Eric Anholt authored
We'd end up with the constant offset in the uniform stream anyway, since they're bigger than small immediates. Avoids the extra uniforms and adds in the shader in favor of just adding once on the CPU. shader-db: total instructions in shared programs: 6496865 -> 6494851 (-0.03%) total uniforms in shared programs: 2119511 -> 2117243 (-0.11%)
-
- 19 Mar, 2019 1 commit
-
-
Eric Anholt authored
This allows DRI3 to pick between UIF and raster according to whether we're pageflipping or not and whether the pageflipping display can do UIF, avoiding copies for the windowed/composited case that previously was forced to linear. Improves windowed glmark2 -b build:use-vbo=false performance by 30.7783% +/- 13.1719% (n=3)
-
- 12 Mar, 2019 2 commits
-
-
Eric Anholt authored
This makes v3d match vc4's destroy path. Fixes: e113b21c ("v3d: Add renderonly support.")
-
Eric Anholt authored
This reduces the runtime of dEQP-GLES3.functional.shaders.precision.* from 11.5s to 3.3s. This brings CTS runs down to 4 hours on one of my target devices.
-
- 08 Feb, 2019 1 commit
-
-
Karol Herbst authored
Some NVIDIA hardware can accept 128 fragment shader input components, but only have up to 124 varying-interpolated input components. We add a new cap to express this cleanly. For most drivers, this will have the same value as PIPE_SHADER_CAP_MAX_INPUTS for the fragment shader. Fixes KHR-GL45.limits.max_fragment_input_components Signed-off-by:
Karol Herbst <karolherbst@gmail.com> [imirkin: rebased, improved docs/commit message] Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Acked-by:
Rob Clark <robdclark@gmail.com> Acked-by:
Eric Anholt <eric@anholt.net> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Cc: 19.0 <mesa-stable@lists.freedesktop.org>
-
- 27 Jan, 2019 2 commits
-
-
Eric Anholt authored
We don't want to pull the compiler into every include in the gallium driver, so just make a new little header to store the limits.
-
Eric Anholt authored
The compiler has its limits under V3D_* (like most V3D stuff), so sync up with that.
-
- 14 Jan, 2019 4 commits
-
-
Eric Anholt authored
This is only exposed on V3D 4.1+, because we didn't have the TMU write operations for images on 3.3 (To do GLES 3.1 there, you have to lower it to SSBO load/stores, which is a problem to solve later).
-
Eric Anholt authored
So far I assume that all the buffers get written. If they weren't, you'd probably be using UBOs instead.
-
Eric Anholt authored
This was an arbitrary "we support lots of stuff" value when I started the driver. However, at 400 we expose OES_gpu_shader5, which claims support for dynamically indexing samplers, which the driver doesn't do yet.
-
Eric Anholt authored
Fixes dEQP-GLES31.functional.state_query.integer.max_framebuffer_height_getboolean when GLES3 is enabled.
-
- 08 Jan, 2019 1 commit
-
-
Eric Anholt authored
This is part of GLES 3.1, and with the NIR lowering we're now passing the GLES31 testcases.
-