mirror of
https://github.com/mpv-player/mpv
synced 2025-04-01 00:07:33 +00:00
vo_gpu: add RA_CAP for gl_NumWorkGroups
SPIRV-Cross doesn't support this for the time being. It's possible this could go away again at a later date.
This commit is contained in:
parent
5997248505
commit
0870859e3d
@ -54,6 +54,7 @@ enum {
|
||||
RA_CAP_GATHER = 1 << 9, // supports textureGather in GLSL
|
||||
RA_CAP_FRAGCOORD = 1 << 10, // supports reading from gl_FragCoord
|
||||
RA_CAP_PARALLEL_COMPUTE = 1 << 11, // supports parallel compute shaders
|
||||
RA_CAP_NUM_GROUPS = 1 << 12, // supports gl_NumWorkGroups
|
||||
};
|
||||
|
||||
enum ra_ctype {
|
||||
|
@ -101,6 +101,7 @@ static int ra_init_gl(struct ra *ra, GL *gl)
|
||||
{RA_CAP_TEX_1D, MPGL_CAP_1D_TEX},
|
||||
{RA_CAP_TEX_3D, MPGL_CAP_3D_TEX},
|
||||
{RA_CAP_COMPUTE, MPGL_CAP_COMPUTE_SHADER},
|
||||
{RA_CAP_NUM_GROUPS, MPGL_CAP_COMPUTE_SHADER},
|
||||
{RA_CAP_NESTED_ARRAY, MPGL_CAP_NESTED_ARRAY},
|
||||
};
|
||||
|
||||
|
@ -209,7 +209,7 @@ struct ra *ra_create_vk(struct mpvk_ctx *vk, struct mp_log *log)
|
||||
ra->max_pushc_size = vk->limits.maxPushConstantsSize;
|
||||
|
||||
if (vk->pool_compute) {
|
||||
ra->caps |= RA_CAP_COMPUTE;
|
||||
ra->caps |= RA_CAP_COMPUTE | RA_CAP_NUM_GROUPS;
|
||||
// If we have more compute queues than graphics queues, we probably
|
||||
// want to be using them. (This seems mostly relevant for AMD)
|
||||
if (vk->pool_compute->num_queues > vk->pool_graphics->num_queues)
|
||||
|
Loading…
Reference in New Issue
Block a user