vc4: Add a flag in the screen to track control flow support.
For now it's still always false, but I need it in place for kernel backwards compat support as I extend the backend for control flow.
This commit is contained in:
parent
05bcd9dd96
commit
ab1d40b84a
|
@ -1765,6 +1765,7 @@ vc4_shader_ntq(struct vc4_context *vc4, enum qstage stage,
|
|||
{
|
||||
struct vc4_compile *c = qir_compile_init();
|
||||
|
||||
c->vc4 = vc4;
|
||||
c->stage = stage;
|
||||
c->shader_state = &key->shader_state->base;
|
||||
c->program_id = key->shader_state->program_id;
|
||||
|
|
|
@ -329,8 +329,10 @@ vc4_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,
|
|||
case PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS:
|
||||
case PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS:
|
||||
return 16384;
|
||||
|
||||
case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH:
|
||||
return 0;
|
||||
return vc4_screen(pscreen)->has_control_flow;
|
||||
|
||||
case PIPE_SHADER_CAP_MAX_INPUTS:
|
||||
if (shader == PIPE_SHADER_FRAGMENT)
|
||||
return 8;
|
||||
|
@ -494,6 +496,12 @@ vc4_screen_is_format_supported(struct pipe_screen *pscreen,
|
|||
return retval == usage;
|
||||
}
|
||||
|
||||
static bool
|
||||
vc4_supports_branches(struct vc4_screen *screen)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
struct pipe_screen *
|
||||
vc4_screen_create(int fd)
|
||||
{
|
||||
|
@ -512,6 +520,9 @@ vc4_screen_create(int fd)
|
|||
screen->fd = fd;
|
||||
list_inithead(&screen->bo_cache.time_list);
|
||||
|
||||
if (vc4_supports_branches(screen))
|
||||
screen->has_control_flow = true;
|
||||
|
||||
vc4_fence_init(screen);
|
||||
|
||||
vc4_debug = debug_get_option_vc4_debug();
|
||||
|
|
|
@ -75,6 +75,7 @@ struct vc4_screen {
|
|||
|
||||
uint32_t bo_size;
|
||||
uint32_t bo_count;
|
||||
bool has_control_flow;
|
||||
};
|
||||
|
||||
static inline struct vc4_screen *
|
||||
|
|
Loading…
Reference in New Issue