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:
Nicolai Hähnle
2017-05-10 09:55:36 +02:00
parent 4aa4e17f4e
commit 7091fe887b
3 changed files with 8 additions and 3 deletions
+1 -1
View File
@@ -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");
+5
View File
@@ -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: