gallium: Add cylindrical wrap info to TGSI declaration.
This commit is contained in:
@@ -107,7 +107,7 @@ tgsi_default_declaration( void )
|
|||||||
declaration.Semantic = 0;
|
declaration.Semantic = 0;
|
||||||
declaration.Centroid = 0;
|
declaration.Centroid = 0;
|
||||||
declaration.Invariant = 0;
|
declaration.Invariant = 0;
|
||||||
declaration.Padding = 0;
|
declaration.CylindricalWrap = 0;
|
||||||
|
|
||||||
return declaration;
|
return declaration;
|
||||||
}
|
}
|
||||||
@@ -121,6 +121,7 @@ tgsi_build_declaration(
|
|||||||
unsigned semantic,
|
unsigned semantic,
|
||||||
unsigned centroid,
|
unsigned centroid,
|
||||||
unsigned invariant,
|
unsigned invariant,
|
||||||
|
unsigned cylindrical_wrap,
|
||||||
struct tgsi_header *header )
|
struct tgsi_header *header )
|
||||||
{
|
{
|
||||||
struct tgsi_declaration declaration;
|
struct tgsi_declaration declaration;
|
||||||
@@ -136,6 +137,7 @@ tgsi_build_declaration(
|
|||||||
declaration.Semantic = semantic;
|
declaration.Semantic = semantic;
|
||||||
declaration.Centroid = centroid;
|
declaration.Centroid = centroid;
|
||||||
declaration.Invariant = invariant;
|
declaration.Invariant = invariant;
|
||||||
|
declaration.CylindricalWrap = cylindrical_wrap;
|
||||||
|
|
||||||
header_bodysize_grow( header );
|
header_bodysize_grow( header );
|
||||||
|
|
||||||
@@ -190,6 +192,7 @@ tgsi_build_full_declaration(
|
|||||||
full_decl->Declaration.Semantic,
|
full_decl->Declaration.Semantic,
|
||||||
full_decl->Declaration.Centroid,
|
full_decl->Declaration.Centroid,
|
||||||
full_decl->Declaration.Invariant,
|
full_decl->Declaration.Invariant,
|
||||||
|
full_decl->Declaration.CylindricalWrap,
|
||||||
header );
|
header );
|
||||||
|
|
||||||
if (maxsize <= size)
|
if (maxsize <= size)
|
||||||
|
@@ -68,6 +68,7 @@ tgsi_build_declaration(
|
|||||||
unsigned semantic,
|
unsigned semantic,
|
||||||
unsigned centroid,
|
unsigned centroid,
|
||||||
unsigned invariant,
|
unsigned invariant,
|
||||||
|
unsigned cylindrical_wrap,
|
||||||
struct tgsi_header *header );
|
struct tgsi_header *header );
|
||||||
|
|
||||||
struct tgsi_full_declaration
|
struct tgsi_full_declaration
|
||||||
|
@@ -342,6 +342,22 @@ iter_declaration(
|
|||||||
TXT( ", INVARIANT" );
|
TXT( ", INVARIANT" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (decl->Declaration.CylindricalWrap) {
|
||||||
|
TXT(", CYLWRAP_");
|
||||||
|
if (decl->Declaration.CylindricalWrap & TGSI_CYLINDRICAL_WRAP_X) {
|
||||||
|
CHR('X');
|
||||||
|
}
|
||||||
|
if (decl->Declaration.CylindricalWrap & TGSI_CYLINDRICAL_WRAP_Y) {
|
||||||
|
CHR('Y');
|
||||||
|
}
|
||||||
|
if (decl->Declaration.CylindricalWrap & TGSI_CYLINDRICAL_WRAP_Z) {
|
||||||
|
CHR('Z');
|
||||||
|
}
|
||||||
|
if (decl->Declaration.CylindricalWrap & TGSI_CYLINDRICAL_WRAP_W) {
|
||||||
|
CHR('W');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
EOL();
|
EOL();
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
*
|
*
|
||||||
* Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
|
* Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
|
||||||
* Copyright 2009 VMware, Inc.
|
* Copyright 2009-2010 VMware, Inc.
|
||||||
* All Rights Reserved.
|
* All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
@@ -102,6 +102,11 @@ enum tgsi_file_type {
|
|||||||
#define TGSI_INTERPOLATE_PERSPECTIVE 2
|
#define TGSI_INTERPOLATE_PERSPECTIVE 2
|
||||||
#define TGSI_INTERPOLATE_COUNT 3
|
#define TGSI_INTERPOLATE_COUNT 3
|
||||||
|
|
||||||
|
#define TGSI_CYLINDRICAL_WRAP_X (1 << 0)
|
||||||
|
#define TGSI_CYLINDRICAL_WRAP_Y (1 << 1)
|
||||||
|
#define TGSI_CYLINDRICAL_WRAP_Z (1 << 2)
|
||||||
|
#define TGSI_CYLINDRICAL_WRAP_W (1 << 3)
|
||||||
|
|
||||||
struct tgsi_declaration
|
struct tgsi_declaration
|
||||||
{
|
{
|
||||||
unsigned Type : 4; /**< TGSI_TOKEN_TYPE_DECLARATION */
|
unsigned Type : 4; /**< TGSI_TOKEN_TYPE_DECLARATION */
|
||||||
@@ -113,7 +118,7 @@ struct tgsi_declaration
|
|||||||
unsigned Semantic : 1; /**< BOOL, any semantic info? */
|
unsigned Semantic : 1; /**< BOOL, any semantic info? */
|
||||||
unsigned Centroid : 1; /**< centroid sampling? */
|
unsigned Centroid : 1; /**< centroid sampling? */
|
||||||
unsigned Invariant : 1; /**< invariant optimization? */
|
unsigned Invariant : 1; /**< invariant optimization? */
|
||||||
unsigned Padding : 4;
|
unsigned CylindricalWrap:4; /**< TGSI_CYLINDRICAL_WRAP_x flags */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct tgsi_declaration_range
|
struct tgsi_declaration_range
|
||||||
|
Reference in New Issue
Block a user