panfrost: Lower MAX_BLOCK_SIZE on Midgard
To match PIPE_COMPUTE_CAP_MAX_THREADS_PER_BLOCK, having it be higher in any dimension is nonsensical and can confuse apps. Fixes tests in KHR-GLES31.core.texture_buffer.* on Mali-T860. Fixes:9b19104a30
("pan/mdg: Lower PIPE_COMPUTE_CAP_MAX_THREADS_PER_BLOCK on Midgard") Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19238> (cherry picked from commit027ee6c9e9
)
This commit is contained in:

committed by
Dylan Baker

parent
0add4f1f1a
commit
f1f856c2fd
@@ -2398,7 +2398,7 @@
|
||||
"description": "panfrost: Lower MAX_BLOCK_SIZE on Midgard",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "9b19104a30bba35c4025833d5022c8ddc6c1ccd0"
|
||||
},
|
||||
|
@@ -692,9 +692,16 @@ panfrost_get_compute_param(struct pipe_screen *pscreen, enum pipe_shader_ir ir_t
|
||||
|
||||
case PIPE_COMPUTE_CAP_MAX_BLOCK_SIZE:
|
||||
/* Unpredictable behaviour at larger sizes. Mali-G52 advertises
|
||||
* 384x384x384. The smaller size is advertised by Mali-T628,
|
||||
* use min until we have a need to key by arch */
|
||||
RET(((uint64_t []) { 256, 256, 256 }));
|
||||
* 384x384x384.
|
||||
*
|
||||
* On Midgard, we don't allow more than 128 threads in each
|
||||
* direction to match PIPE_COMPUTE_CAP_MAX_THREADS_PER_BLOCK.
|
||||
* That still exceeds the minimum-maximum.
|
||||
*/
|
||||
if (dev->arch >= 6)
|
||||
RET(((uint64_t []) { 256, 256, 256 }));
|
||||
else
|
||||
RET(((uint64_t []) { 128, 128, 128 }));
|
||||
|
||||
case PIPE_COMPUTE_CAP_MAX_THREADS_PER_BLOCK:
|
||||
/* On Bifrost and newer, all GPUs can support at least 256 threads
|
||||
|
Reference in New Issue
Block a user