- 10 Oct, 2017 38 commits
-
-
Eric Anholt authored
The intent is to use this extension on vc4 to allow X11 to do overlapping CopyArea() within a pixmap without first blitting the pixmap to a temporary. With associated glamor patches, improves x11perf -copywinwin100 performance on a Raspberry Pi 3 from ~4700/sec to ~5130/sec, and is an even larger boost to uncomposited window movement performance (most copywinwin100 copies don't overlap). v2: Fix glIsEnabled() on the new enums. v3: Drop the local spec since I'm upstreaming the spec. Reviewed-by:
Nicolai Hähnle <nicolai.haehnle@amd.com>
-
Eric Anholt authored
Because vc4 can control the order that tiles are rasterized in, we can use it to implement overlapping blits using normal drawing and GL_ARB_texture_barrier, as long as we can tell the kernel what order to render the tiles in. v2: Fix on the simulator. v3: Add the cap (disabled) to other drivers, add rst docs for the cap. v4: Rebase on PIPE_CAP_TGSI_ANY_REG_AS_ADDRESS v5: Split from the core gallium commit, drop some unnecessary code related to glBlitFramebuffer(), fix a crash with clears before state has been bound.
-
Eric Anholt authored
Because vc4 can control the order that tiles are rasterized in, we can use it to implement overlapping blits using normal drawing and GL_ARB_texture_barrier, as long as we can tell the kernel what order to render the tiles in. This commit introduces the core gallium support, vc4 changes will follow. v2: Fix on the simulator. v3: Add the cap (disabled) to other drivers, add rst docs for the cap. v4: Rebase on PIPE_CAP_TGSI_ANY_REG_AS_ADDRESS v5: Drop vc4 changes from this commit, for clarity. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> (v3)
-
Eric Anholt authored
Improves x11perf -copywinwin100 from ~2000/sec to ~4700/sec. More importantly, this is a prerequisite for the new GL_MESA_tile_raster_order extension.
-
Eric Anholt authored
Acked-by:
Nicolai Hähnle <nicolai.haehnle@amd.com>
-
Eric Anholt authored
Noticed that we had two 0x8bb4 in the spec while grepping to find an open slot in the MESA enums set. gl.xml had the right value. Acked-by:
Nicolai Hähnle <nicolai.haehnle@amd.com>
-
Brian Paul authored
If one uses a parent build script to download/build Mesa we may not have a full git repository (maybe a tar archive) so the 'git rev-parse' command will fail. This updates the script to look for a MESA_GIT_SHA1_OVERRIDE env var. If it's set, use that sha1 instead of using git rev-parse. With this change we can put a git hash in the GL_VERSION string even when we don't have a git repo. v2: incorporate Dylan's suggestions to simplify the code Reviewed-by:
Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by:
Dylan Baker <dylan@pnwbakers.com>
-
Brian Paul authored
v2: use !! in the function to be explicit about type conversion. Though, gcc generates the same code with or without the logical !!. Reviewed-by:
Roland Scheidegger <sroland@vmware.com> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
-
Brian Paul authored
Try to start removing things from the cluttered imports.h file. v2: add new header to Makefile.sources Reviewed-by:
Roland Scheidegger <sroland@vmware.com>
-
Kenneth Graunke authored
-
Eric Anholt authored
Before we were doing RGBA4 on GLES3 only, but as of GLES2 2.0.22 it should be RGBA4 as well. Fixes DEQP functional.state_query.rbo.renderbuffer_internal_format. Tested-by:
Matt Turner <mattst88@gmail.com> Reviewed-by:
Nicolai Hähnle <nicolai.haehnle@amd.com>
-
Eric Anholt authored
This extension is effectively a backport of GLES3's internalformat handling to GLES 1/2. It guarantees that sized internalformats specified for textures and renderbuffers have at least the specified size stored. That's a pretty minimal requirement, so I think it can be dummy_true and exposed as a standard in Mesa. As a side effect, it also allows GL_RGB565 to be specified as a texture format, not just as a renderbuffer. Mesa had previously been allowing 565 textures, which angered DEQP in the absence of this extension being exposed. v2: Allow 2101010rev with sized internalformats even on GLES3, citing the extension spec. Extend extension checks for GLES2 contexts exposing with texture_float, texture_half_float, and texture_rg. v3: Fix ALPHA/LUMINANCE/LUMINANCE_ALPHA error checking (GLES3 CTS failures) v4: Mark GL_RGB10 non-color-renderable on ES, fix A/L/LA errors on GLES2 with float formats. Reviewed-by:
Nicolai Hähnle <nicolai.haehnle@amd.com>
-
Eric Anholt authored
Previously, we were downconverting to 8888 automatically if the hardware didn't suport it. However, with the advent of GL_OES_required_internalformat, we have to actually store the internalformats we advertise support for. And, it seems rather disingenuous to advertise the extension if we don't actually support it. v2: Throw an error when using the format on ES2 without the extension present. Reviewed-by:
Nicolai Hähnle <nicolai.haehnle@amd.com>
-
Eric Anholt authored
This keeps us from promoting them up to 8888, at the cost of not being color-renderable.
-
Eric Anholt authored
This is how VC4 stores 5551 textures, which we need to support for GL_OES_required_internalformat. v2: Extend commit message, fix svga driver build, add BE ordering from Roland. v3: Rebase on PIPE_FORMAT_R10G10B10X2_UNORM addition. Reviewed-by: Marek Olšák <marek.olsak@amd.com> (v2) Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> (v2)
-
Eric Anholt authored
For supporting RGB5 in hardware with A in the low bit (vc4), we need this format as well. v2: Add proper _mesa_format_matches_format_and_type() support (from Nicolai). Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> (v1)
-
Nicolai Hähnle authored
Reviewed-by:
Eric Engestrom <eric.engestrom@imgtec.com>
-
Nicolai Hähnle authored
Tested with dEQP-EGL.functional.image.*renderbuffer* tests. Reviewed-by:
Eric Anholt <eric@anholt.net>
-
Nicolai Hähnle authored
Reviewed-by:
Eric Engestrom <eric.engestrom@imgtec.com>
-
Nicolai Hähnle authored
Reviewed-by:
Eric Engestrom <eric.engestrom@imgtec.com>
-
Nicolai Hähnle authored
Reviewed-by:
Eric Engestrom <eric.engestrom@imgtec.com>
-
Nicolai Hähnle authored
We ought to be able to distinguish between allocation errors and bad parameters (non-existent renderbuffer object). Bumps the version of the DRI Image extension to 17. Reviewed-by:
Eric Engestrom <eric.engestrom@imgtec.com>
-
Nicolai Hähnle authored
Applications might pass in a buffer that is sized too large and rely on the extra space of the buffer not being overwritten. Fixes dEQP-GLES31.functional.state_query.internal_format.partial_query.num_sample_counts Cc: mesa-stable@lists.freedesktop.org Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
Nicolai Hähnle authored
The uploaders can own transfers which need to be unmapped. Destroy them before the final sync (they're not used from the driver thread anyway) so that the transfer_unmap call is processed by the driver. Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
Nicolai Hähnle authored
Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
Nicolai Hähnle authored
Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
Nicolai Hähnle authored
Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
Nicolai Hähnle authored
In GL state, textures created from EGL images look like plain 2D textures with a single level, so we use the existing layer_override facility and add an analogous level_override one. Fixes dEQP-EGL.functional.image.create.gles2_cubemap_{positive,negative}_{x,y,z}_rgba_texture Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
Nicolai Hähnle authored
This can happen with surface-based texture objects derived from EGL images, since those aren't immutable. Fixes tests in dEQP-EGL.functional.sharing.gles2.multithread.random.images.teximage2d.* and others Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
Nicolai Hähnle authored
Unlike uniforms, the limit on shared memory size is not called out explicitly in the list of things that cause linker errors, but presumably that's just an oversight in the spec. Fixes dEQP-GLES31.functional.debug.negative_coverage.{callbacks,get_error,log}.compute.exceed_shared_memory_size_limit Reviewed-by:
Timothy Arceri <tarceri@itsqueeze.com>
-
Lucas Stach authored
Now that the real meaning of the 2 bits in PA_SYSTEM_MODE is known, we can set them according to the rasterizer state, which fixes uses that are setting provoking vertex first. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de> Reviewed-by:
Wladimir J. van der Laan <laanwj@gmail.com> Reviewed-by:
Christian Gmeiner <christian.gmeiner@gmail.com>
-
Lucas Stach authored
It turned out not to be a hardware bug, but the shader compiler emitting wrong varying component use information. With that fixed we can turn flat shading back on. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de> Reviewed-by:
Philipp Zabel <p.zabel@pengutronix.de> Reviewed-by:
Wladimir J. van der Laan <laanwj@gmail.com>
-
Lucas Stach authored
It seems that newer cores don't use the PA_ATTRIBUTES to decide if the varying should bypass the flat shading, but derive this from the component use. This fixes flat shading on GC880+. VARYING_COMPONENT_USE_POINTCOORD is a bit of a misnomer now, as it isn't only used for pointcoords, but missing a better name I left it as-is. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de> Reviewed-by:
Wladimir J. van der Laan <laanwj@gmail.com>
-
Lucas Stach authored
The logic to decide if we need to flush the GPU command stream was broken and hard to reason about. Fix and clarify this. Fixes the data sync subtests from piglit arb_vertex_buffer_object. Signed-off-by:
Lucas Stach <l.stach@pengutronix.de> Reviewed-by:
Wladimir J. van der Laan <laanwj@gmail.com>
-
Iago Toral authored
When computing the total size of the URB for tessellation evaluation inputs we were not accounting for this, and instead we were always assuming that each input would take a single vec4 slot, which could lead to computing a smaller read size than required. Specifically, this is a problem when the last input is a dvec3/4 such that its XY components are stored in the the second half of a payload register (which can happen if the offset for the input in the URB is not 64-bit aligned because there are 32-bit inputs mixed in) and the ZW components in the first half of the next, as in this case we would fail to account for the extra slot required for the ZW components. Fixes (requires another fix in CTS currently in review): KHR-GL45.enhanced_layouts.varying_locations KHR-GL45.enhanced_layouts.varying_array_locations Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org>
-
Tapani Pälli authored
CID: 1419033 Signed-off-by:
Tapani Pälli <tapani.palli@intel.com> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
-
Dave Airlie authored
This seems to pass all the cts tests it enables. Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Acked-by:
Jason Ekstrand <jason@jlekstrand.net> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Ilia Mirkin authored
TGSI was adjusted to always pass in 64-bit integers but nouveau was left with the old semantics. Update to the new thing. Fixes: d10fbe51 (st/glsl_to_tgsi: fix 64-bit integer bit shifts) Reported-by:
Karol Herbst <karolherbst@gmail.com> Cc: mesa-stable@lists.freedesktop.org
-
- 09 Oct, 2017 2 commits
-
-
Lionel Landwerlin authored
Also makes this statement a bit clearer. CID: 1418920 Signed-off-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> Reviewed-by:
Antia Puentes <apuentes@igalia.com>
-
Józef Kucia authored
Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> Reviewed-by:
Nanley Chery <nanley.g.chery@intel.com> Cc: mesa-stable@lists.freedesktop.org
-