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>
This commit is contained in:

committed by
Marge Bot

parent
934f9bbae7
commit
027ee6c9e9
@@ -682,9 +682,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