mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 09:08:10 +02:00
Revert "freedreno/a5xx: Fix clip_mask"
This reverts commit 2dfebf3487.
It causes GPU hangs in piglit tests like
spec@glsl-1.20@execution@clipping@vs-clip-vertex-enables, for reasons I'm
totally unclear on. The commit was not necessary, because the frontend
lowering already handles disabled clip planes by storing 0.0 to the
corresponding clipdist array element in that shader variant. Add a note
to that effect.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21298>
This commit is contained in:
parent
509c1f9fea
commit
5c246e21b7
4 changed files with 9 additions and 31 deletions
|
|
@ -561,17 +561,6 @@ spec@ext_render_snorm@render@format 0x8f95 read fail,Fail
|
|||
spec@ext_render_snorm@render@format 0x8f97 read fail,Fail
|
||||
spec@ext_transform_feedback2@draw-auto,Fail
|
||||
|
||||
# Probably regressed with !14643
|
||||
spec@ext_transform_feedback@builtin-varyings gl_clipdistance,Fail
|
||||
spec@ext_transform_feedback@builtin-varyings gl_clipdistance[1]-no-subscript,Fail
|
||||
spec@ext_transform_feedback@builtin-varyings gl_clipdistance[2]-no-subscript,Fail
|
||||
spec@ext_transform_feedback@builtin-varyings gl_clipdistance[3]-no-subscript,Fail
|
||||
spec@ext_transform_feedback@builtin-varyings gl_clipdistance[4]-no-subscript,Fail
|
||||
spec@ext_transform_feedback@builtin-varyings gl_clipdistance[5]-no-subscript,Fail
|
||||
spec@ext_transform_feedback@builtin-varyings gl_clipdistance[6]-no-subscript,Fail
|
||||
spec@ext_transform_feedback@builtin-varyings gl_clipdistance[7]-no-subscript,Fail
|
||||
spec@ext_transform_feedback@builtin-varyings gl_clipdistance[8]-no-subscript,Fail
|
||||
|
||||
spec@ext_transform_feedback@generatemipmap prims_generated,Fail
|
||||
spec@ext_transform_feedback@immediate-reuse,Fail
|
||||
spec@ext_transform_feedback@immediate-reuse-index-buffer,Fail
|
||||
|
|
@ -627,23 +616,6 @@ spec@ext_transform_feedback@tessellation triangles wireframe,Fail
|
|||
spec@glsl-1.10@execution@temp-array-indexing@glsl-fs-giant-temp-array,Fail
|
||||
spec@glsl-1.10@execution@temp-array-indexing@glsl-vs-giant-temp-array,Fail
|
||||
|
||||
spec@glsl-1.20@execution@fs-outerproduct-const-mat3,Fail
|
||||
|
||||
spec@glsl-1.30@execution@built-in-functions@fs-op-assign-rshift-uvec2-uint,Fail
|
||||
spec@glsl-1.30@execution@built-in-functions@vs-op-assign-div-uvec2-uint,Fail
|
||||
spec@glsl-1.30@execution@interpolation@interpolation-flat-other-flat-fixed,Fail
|
||||
|
||||
spec@glsl-1.10@execution@vec4-vector-indexing@glsl-fs-vec4-indexing-2,Fail
|
||||
|
||||
# Probably regressed with !14643
|
||||
# msm 900000.mdss: [drm:a5xx_irq] *ERROR* gpu fault ring 0 fence 13b4d status C10001C3 rb 1872/1872 ib1 000000000105F000/0000 ib2 000000000105E000/0000
|
||||
# msm 900000.mdss: [drm:recover_worker] *ERROR* A530: hangcheck recover!
|
||||
# msm 900000.mdss: [drm:recover_worker] *ERROR* A530: offending task: shader_run:sq0 (/piglit/bin/shader_runner tests/spec/glsl-1.20/execution/clipping/vs-clip-vertex-enables.shader_test -auto -fbo)"
|
||||
spec@glsl-1.20@execution@clipping@fixed-clip-enables,Fail
|
||||
spec@glsl-1.20@execution@clipping@vs-clip-vertex-enables,Fail
|
||||
spec@glsl-1.30@execution@clipping@vs-clip-distance-enables,Fail
|
||||
|
||||
|
||||
spec@glsl-1.30@execution@texelfetch fs sampler3d 1x129x9-98x129x9,Fail
|
||||
spec@glsl-1.30@execution@texelfetch fs sampler3d 98x129x1-98x129x9,Fail
|
||||
spec@glsl-1.30@execution@texelfetch fs sampler3d 98x1x9-98x129x9,Fail
|
||||
|
|
|
|||
|
|
@ -641,7 +641,7 @@ fd5_emit_state(struct fd_context *ctx, struct fd_ringbuffer *ring,
|
|||
OUT_RING(ring, A5XX_GRAS_CL_VPORT_ZSCALE_0(vp->scale[2]));
|
||||
}
|
||||
|
||||
if (dirty & (FD_DIRTY_PROG | FD_DIRTY_RASTERIZER_CLIP_PLANE_ENABLE))
|
||||
if (dirty & FD_DIRTY_PROG)
|
||||
fd5_program_emit(ctx, ring, emit);
|
||||
|
||||
if (dirty & FD_DIRTY_RASTERIZER) {
|
||||
|
|
|
|||
|
|
@ -254,7 +254,13 @@ fd5_program_emit(struct fd_context *ctx, struct fd_ringbuffer *ring,
|
|||
cull_mask = s[VS].v->cull_mask;
|
||||
uint8_t clip_cull_mask = clip_mask | cull_mask;
|
||||
|
||||
clip_mask &= ctx->rasterizer->clip_plane_enable;
|
||||
/* Unlike a6xx, we don't factor the rasterizer's clip enables in here. It's
|
||||
* already handled by the frontend by storing 0.0 to the clipdist in the
|
||||
* shader variant (using either nir_lower_clip_disable for clip distances
|
||||
* from the source shader, or nir_lower_clip_vs for user clip planes).
|
||||
* Masking the disabled clipdists off causes GPU hangs in tests like
|
||||
* spec@glsl-1.20@execution@clipping@vs-clip-vertex-enables.
|
||||
*/
|
||||
|
||||
fssz = (s[FS].i->double_threadsize) ? FOUR_QUADS : TWO_QUADS;
|
||||
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ void fd5_emit_shader(struct fd_ringbuffer *ring,
|
|||
const struct ir3_shader_variant *so);
|
||||
|
||||
void fd5_program_emit(struct fd_context *ctx, struct fd_ringbuffer *ring,
|
||||
struct fd5_emit *emit) in_dt;
|
||||
struct fd5_emit *emit);
|
||||
|
||||
void fd5_prog_init(struct pipe_context *pctx);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue