Age | Commit message (Collapse) | Author |
|
Change-Id: I3bc19fd3e32c93bcaa2a8530c3c29d7db85b9247
|
|
Change-Id: If69ee97b40e179b2d1a561106353eea7ec93ee3e
|
|
am: 808f7d45c8
Change-Id: Ib88a641c2610f86ae06d06b644feaafa61afe0bd
|
|
Test: gerrit
Change-Id: I063768c0b001dc28c3b7cf1a30349e137bd59ffc
|
|
am: 1fcaef125e -s ours
am skip reason: subject contains skip directive
Change-Id: I95926af526de5f11bb1afd3e573f90167b360c79
|
|
Bug: 120848293
Change-Id: I7ce8a298ccae4d818f635fee491ecea60de46708
|
|
am: 7ff42925f6
Change-Id: Ia8e70c6ee7c38afd963af30fc55795cfc0543c7c
|
|
am: 123d3d8dec
Change-Id: I5116285f94300f71de85f69af5ce2603a1f85fd7
|
|
am: c09b36efc9
Change-Id: Ieffc22b5daed56d899f1b650d68aacba4f51b7e3
|
|
Bug: 33166666
Test: gerrit uploader
Change-Id: I7772e14f2693109f91c193e03b420eec4070b55b
|
|
am: df89229b2d
Change-Id: I892eee72a59fd5dc1ceeffaa92bb4e87ab9f5eb0
|
|
am: 68429e8e11
Change-Id: Ia23b6d30024e2cebdb1b2717800f7657fcbc2a5f
|
|
am: af70368022
Change-Id: I81d991ba8c0333882446401247837905838f5bd3
|
|
BUG: 117514054
Test: TH
Change-Id: I6c026085793b87fe28f8139985491b691a1d3f83
|
|
BUG: 117514054
Test: TH
Change-Id: I6c026085793b87fe28f8139985491b691a1d3f83
|
|
Change-Id: Ie5689a72cd05de2a00b4a9a2ef8f0932734d4314
|
|
BUG: 117514054
Test: TH
Change-Id: Ib662b73750e924244e572cc39afe2546f229e23b
|
|
BUG: 77276633
Test: Built in local tree
Change-Id: I6f9ecce5a1a8750ee1d4dfb79a04b61ff8cbde01
|
|
Bug: 111504385
Change-Id: I29408413750f50bf1cdc05a3e50aa87c754a0808
|
|
Bug: 111504385
Change-Id: I9f774a9949ef164385ac1aa38a75bdb2b447556c
Signed-off-by: Alistair Strachan <astrachan@google.com>
|
|
This way we can report the actual max texture, rather than a
conservative guess like we do now.
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Signed-off-by: Jakob Bornecrantz <jakob@collabora.com>
|
|
of ro/wo"
This reverts commit 3e7a6ac4e76c0439cf4ff96fba0df0e5b822a87c.
This broke piglit ./bin/arb_shader_image_load_store-semantics
|
|
Closes: #19
Fixes:
dEQP-GLES31.functional.geometry_shading.basic.point_size
dEQP-GLES31.functional.primitive_bounding_box.wide_points.
global_state.vertex_geometry_fragment.
default_framebuffer_bbox_equal
default_framebuffer_bbox_larger
default_framebuffer_bbox_smaller
fbo_bbox_equal
fbo_bbox_larger
fbo_bbox_smaller
tessellation_set_per_draw.vertex_tessellation_geometry_fragment.
default_framebuffer_bbox_equal
default_framebuffer_bbox_larger
default_framebuffer_bbox_smaller
fbo_bbox_equal
fbo_bbox_larger
fbo_bbox_smaller
tessellation_set_per_primitive.vertex_tessellation_geometry_fragment.default_framebuffer
tessellation_set_per_primitive.vertex_tessellation_geometry_fragment.fbo
dEQP-GLES31.functional.tessellation_geometry_interaction.point_size.
geometry_set
vertex_set_geometry_set
vertex_set_evaluation_set_geometry_set
vertex_set_control_pass_eval_add_geometry_add
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
|
|
The vertex shader always gl_PerVertex, but the tesselation shaders only
define the structure when the point size extension is enabled, otherwise
gl_PointSize is passed as a generic varying and can not be written to.
If one enables the extension based on whether the value gl_PointSize is
actually accessed in the tess shaders then it might happend that tess_ctrl
doesn't touch the value, and the extension isn't enabled, and tess_eval
accesses it and the extension is enabled. In such a case gl_PointSize is
passed as a generic to and from the tess_ctrl shader and linking of the
shaders will fail because of different definitions of gl_PerVertex.
Since in this case there is no indication in the tess_ctrl shader that
point_size is accessed, and it is not known whether the shader will be
linked with a tess_eval shader that uses gl_PointSize the workaround is to
always enable the extension for all tesselation shaders.
Fixes:
dEQP-GLES31.functional.tessellation_geometry_interaction.
point_size.evaluation_set
point_size.vertex_set_control_set
point_size.vertex_set_evaluation_set
point_size.vertex_set_evaluation_set_geometry_default
dEQP-GLES31.functional.primitive_bounding_box.wide_points.
global_state.vertex_tessellation_fragment.
default_framebuffer_bbox_equal
default_framebuffer_bbox_larger
default_framebuffer_bbox_smaller
fbo_bbox_equal
fbo_bbox_larger
fbo_bbox_smaller
dEQP-GLES31.functional.primitive_bounding_box.wide_points.
tessellation_set_per_draw.vertex_tessellation_fragment.
default_framebuffer_bbox_equal
default_framebuffer_bbox_equal
default_framebuffer_bbox_larger
default_framebuffer_bbox_smaller
fbo_bbox_equal
fbo_bbox_larger
fbo_bbox_smaller
tessellation_set_per_primitive.vertex_tessellation_fragment.
default_framebuffer
fragment.fbo
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
|
|
GLES 3.1 might support tesselation shaders through the extension, but
this requires the extension to be enabled manually.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
|
|
Closes: #16
Fixes:
dEQP-GLES31.functional.image_load_store.*.format_reinterpret.*
dEQP-GLES31.functional.image_load_store.*.image_size.writeonly_*
dEQP-GLES31.functional.image_load_store.*.load_store.*
dEQP-GLES31.functional.image_load_store.*.qualifiers.restrict
dEQP-GLES31.functional.image_load_store.*.store.*
v2: remove superfluous check (Erik)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Closes: #18
Fixes:
dEQP-
GLES31.functional.geometry_shading.layered.fragment_layer_2d_array
dEQP-
GLES31.functional.geometry_shading.layered.fragment_layer_2d_multisample_array
dEQP-GLES31.functional.geometry_shading.layered.fragment_layer_3d
dEQP-GLES31.functional.geometry_shading.layered.fragment_layer_cubemap
Reviewed-by: Jakob Bornecrantz <jakob@collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
(i|u)mulextended require that the all parameters are of the same
signedness. Accordingly create both, the output variabale for MSB and
the (unused) variable for the LSB to be of the same corresponding
signedness. Closes: #17
Fixes:
dEQP-
GLES31.functional.shaders.builtin_functions.integer.imulextended.*
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
|
|
Certain source regs (GRID_SIZE, THREAD_ID, BLOCK_ID) don't need
to be cast.
Fixes:
dEQP-GLES31.functional.compute.basic.image_atomic_op_local_size_1
dEQP-GLES31.functional.compute.basic.image_atomic_op_local_size_8
dEQP-GLES31.functional.compute.basic.image_barrier_multiple
Reviewed-By: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
findLSB, findMSB, and countBits always return a signed integer
Fixes:
dEQP-GLES31.functional.shaders.builtin_functions.uniform.findLSBMinusOne.*
dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb.*
dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount.*
Changes resulting from the discussion on mesa-dev with
Roland Schneidegger:
v2: Set values in infer_(src|dst)_type only
v3: Set values in the common infer_type code path, and only add
the source type for UMSB
Signed-off-by: Gert Wollny gert.wollny@collabora.com
Reviewed-by: Dave Airlie <airlied@redhat.com>
|
|
Fixes:
tests/spec/arb_gpu_shader5/execution/ubo_array_indexing/vs-mixed-with-const-access.shader_test
Tested-by: Jakob Bornecrantz <jakob@collabora.com>
Reviewed-by: Jakob Bornecrantz <jakob@collabora.com>
Signed-off-by: Jakob Bornecrantz <jakob@collabora.com>
|
|
STENCIL_INDEX
We didn't correctly reject textures that would fail glTexImage2D with an
GL_INVALID_OPERATION error. Trying to use the so accepted texture formats would later
lead to errors.
Correct this error and also the definition of VIRGL_FORMAT_X24S8_UINT that is needed
for GLES 3.1.
Closes: #15
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Jakob Bornecrantz <jakob@collabora.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
921602de800a7ca8b34d92c71ebb94a877b6a13f
shader: refactor image declaration emitting
broke indirect images.
|
|
When using OpenGL ES 3.1, we either need to emit a precision qualifier,
or set a default precision.
Since it's not unthinkable that we'd want to forward lowp/mediump
in the future, let's use the precision qualifier so it's easier
to get this right later on.
This gets rid of a shader compile error.
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
OpenGL ES 3.1 only supports writing to a few formats, while it can
read from all of them. So let's make sure we emit readonly, so the
OpenGL driver knows we'll only read.
This avoids a shader-compiler error on OpenGL ES 3.1.
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
OpenGL ES 3.1 doesn't support using glUniform1i() for binding
images, so let's use layout qualifiers instead. This should in
theory be slightly more performant as well, as we do less API
calls.
A future improvement would be to also do this on GL 4.2 and later
as well.
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
We essentially repeat the same code twice here, with a small
variation. Let's factor out the common code into a helper, so we
don't have to keep updating two copies. This is similar to what's
already done for samplers.
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
There's no point in copying the two only members out of the struct and
onto the stack. So let's just pass the struct directly.
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
In GLES, these need a precision specifier, otherwise we get
compile errors.
This fixes a shader-compile error on OpenGL ES 3.1.
Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
This regressed with
85bfbb4443 (query: fix glean/occluQry test)
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
|
|
glTexBuffer doesn't accept GL_RGBA8_SNORM, so use GL_RGBA8UI
instead. Unfortunately, we can't use our texture table since
Gallium requests PIPE_FORMAT_R8_UNORM for texture buffers. For
normal sampler views, the correct semantics are passed down later,
but for images (where texture and image formats can differ) this
is not case.
Fixes:
dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret.rgba8ui_rgba8_snorm
dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret.r32ui_rgba8_snorm
dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret.rgba8i_rgba8_snorm
dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret.rgba8_rgba8_snorm
Reviewed-by: Elie Tournier <elie.tournier@collabora.com>
Signed-off-by: Jakob Bornecrantz <jakob@collabora.com>
|
|
This reverts commit 3193c2cbabf440dc8d0a6d59ee630e7ad0813d67.
This commit broke all shaders.
Signed-off-by: Jakob Bornecrantz <jakob@collabora.com>
|
|
Shared memory or shader buffers can be integers sometimes. Let's
emit accordingly.
Fixes:
dEQP-GLES31.functional.compute.shared_var.atomic.min.lowp_int
dEQP-GLES31.functional.compute.shared_var.atomic.min.mediump_int
dEQP-GLES31.functional.compute.shared_var.atomic.min.highp_int
dEQP-GLES31.functional.compute.shared_var.atomic.max.lowp_int
dEQP-GLES31.functional.compute.shared_var.atomic.max.mediump_int
dEQP-GLES31.functional.compute.shared_var.atomic.max.highp_int
dEQP-GLES31.functional.ssbo.atomic.min.lowp_int
dEQP-GLES31.functional.ssbo.atomic.min.mediump_int
dEQP-GLES31.functional.ssbo.atomic.min.highp_int
dEQP-GLES31.functional.ssbo.atomic.max.lowp_int
dEQP-GLES31.functional.ssbo.atomic.max.mediump_int
dEQP-GLES31.functional.ssbo.atomic.max.highp_int
Reviewed-by: Dave Airlie <airlied@redhat.com>
|
|
We can emit them during the second pass. Since a load
or store can come before an atomic max or min, we have to
type the memory before we emit instructions.
Reviewed-by: Dave Airlie <airlied@redhat.com>
|
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Add a check for nonterminated string passed into the create_shader
code.
No point checking len <= 0, since it's a uint32_t.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
vrend_renderer.c:1534:45: Warning: comparision between signd and unsigned integer values [-Wsign-compare]
(first_layer != 0 || (last_layer != util_max_layer(&res->base, surf->val0)))) ||
^~
vrend_renderer.c:2108:66: Warning: unused parameter »ctx« [-Wunused-parameter]
void vrend_set_framebuffer_state_no_attach(struct vrend_context *ctx,
^~~
vrend_renderer.c:2631:49: Warning: unused parameter »ctx« [-Wunused-parameter]
void vrend_memory_barrier(struct vrend_context *ctx,
^~~
vrend_renderer.c:3972:34: WarningWarnung: unused parameter »block« [-Wunused-parameter]
uint32_t *block,
^~~~~
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Signed-off-by: Jakob Bornecrantz <jakob@collabora.com>
|
|
vrend_shader.c:4400: Warning: Comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i = 0; i < ctx->cfg->max_draw_buffers; i++) {
^
vrend_shader.c:4728:28: Warning: Unused variable »i« [-Wunused-variable]
int start, count, i;
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Signed-off-by: Jakob Bornecrantz <jakob@collabora.com>
|
|
|
|
Only decorate function as noreturn when DEBUG is not defined, because
when compiled in DEBUG mode the function actually executes an int3 and
may return, fixes:
u_debug.c: In function '_debug_assert_fail':
u_debug.c:309:1: warning: 'noreturn' function does return
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Signed-off-by: Jakob Bornecrantz <jakob@collabora.com>
|