summaryrefslogtreecommitdiff
path: root/lib/mesa/src/compiler/glsl/ast.h
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2020-08-26 06:03:18 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2020-08-26 06:03:18 +0000
commitaf5e8f5366b05c3d4f8521f318c143a5c5dc3ea9 (patch)
treec5691445908b1beca9facf0e5e3c5d7f35f74228 /lib/mesa/src/compiler/glsl/ast.h
parent27c93456b58343162f7c4ad20ca6bea0c9a91646 (diff)
Merge Mesa 20.1.6
Diffstat (limited to 'lib/mesa/src/compiler/glsl/ast.h')
-rw-r--r--lib/mesa/src/compiler/glsl/ast.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/lib/mesa/src/compiler/glsl/ast.h b/lib/mesa/src/compiler/glsl/ast.h
index 9c8afd488..e77fe8f12 100644
--- a/lib/mesa/src/compiler/glsl/ast.h
+++ b/lib/mesa/src/compiler/glsl/ast.h
@@ -77,6 +77,7 @@ public:
{
struct YYLTYPE locp;
+ locp.path = this->location.path;
locp.source = this->location.source;
locp.first_line = this->location.first_line;
locp.first_column = this->location.first_column;
@@ -93,6 +94,7 @@ public:
*/
void set_location(const struct YYLTYPE &locp)
{
+ this->location.path = locp.path;
this->location.source = locp.source;
this->location.first_line = locp.first_line;
this->location.first_column = locp.first_column;
@@ -107,6 +109,7 @@ public:
*/
void set_location_range(const struct YYLTYPE &begin, const struct YYLTYPE &end)
{
+ this->location.path = begin.path;
this->location.source = begin.source;
this->location.first_line = begin.first_line;
this->location.last_line = end.last_line;
@@ -118,6 +121,7 @@ public:
* Source location of the AST node.
*/
struct {
+ char *path; /**< GLSL shader include path. */
unsigned source; /**< GLSL source number. */
unsigned first_line; /**< First line number within the source string. */
unsigned first_column; /**< First column in the first line. */
@@ -659,6 +663,12 @@ struct ast_type_qualifier {
/** \{ */
unsigned derivative_group:1;
/** \} */
+
+ /**
+ * Flag set if GL_NV_viewport_array2 viewport_relative layout
+ * qualifier is used.
+ */
+ unsigned viewport_relative:1;
}
/** \brief Set of flags, accessed by name. */
q;
@@ -769,7 +779,7 @@ struct ast_type_qualifier {
* \note
* This field is only valid if \c explicit_image_format is set.
*/
- GLenum image_format;
+ enum pipe_format image_format;
/**
* Arrangement of invocations used to calculate derivatives in a compute
@@ -1213,6 +1223,16 @@ public:
};
+class ast_demote_statement : public ast_node {
+public:
+ ast_demote_statement(void) {}
+ virtual void print(void) const;
+
+ virtual ir_rvalue *hir(exec_list *instructions,
+ struct _mesa_glsl_parse_state *state);
+};
+
+
class ast_function_definition : public ast_node {
public:
ast_function_definition() : prototype(NULL), body(NULL)