radeonsi: use SI_MAX_IO_GENERIC instead of magic values
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
@@ -142,7 +142,7 @@ unsigned si_shader_io_get_unique_index(unsigned semantic_name, unsigned index)
|
||||
assert(index <= 1);
|
||||
return 2 + index;
|
||||
case TGSI_SEMANTIC_GENERIC:
|
||||
if (index <= 63-4)
|
||||
if (index < SI_MAX_IO_GENERIC)
|
||||
return 4 + index;
|
||||
|
||||
assert(!"invalid generic index");
|
||||
|
||||
@@ -145,6 +145,11 @@ struct ac_shader_binary;
|
||||
|
||||
#define SI_MAX_VS_OUTPUTS 40
|
||||
|
||||
/* Shader IO unique indices are supported for TGSI_SEMANTIC_GENERIC with an
|
||||
* index smaller than this.
|
||||
*/
|
||||
#define SI_MAX_IO_GENERIC 60
|
||||
|
||||
/* SGPR user data indices */
|
||||
enum {
|
||||
/* GFX9 merged shaders have RW_BUFFERS among the first 8 system SGPRs,
|
||||
|
||||
@@ -1843,7 +1843,7 @@ void si_init_shader_selector_async(void *job, int thread_index)
|
||||
switch (name) {
|
||||
case TGSI_SEMANTIC_GENERIC:
|
||||
/* don't process indices the function can't handle */
|
||||
if (index >= 60)
|
||||
if (index >= SI_MAX_IO_GENERIC)
|
||||
break;
|
||||
/* fall through */
|
||||
case TGSI_SEMANTIC_CLIPDIST:
|
||||
@@ -2000,7 +2000,7 @@ static void *si_create_shader_selector(struct pipe_context *ctx,
|
||||
|
||||
case TGSI_SEMANTIC_GENERIC:
|
||||
/* don't process indices the function can't handle */
|
||||
if (index >= 60)
|
||||
if (index >= SI_MAX_IO_GENERIC)
|
||||
break;
|
||||
/* fall through */
|
||||
case TGSI_SEMANTIC_POSITION:
|
||||
|
||||
Reference in New Issue
Block a user