Modify the linker to assign additional slots for varying
variables used by transform feedback. This is done after other
varyings are already assigned slots.
Since this is done after previous varying slot assignments,
the code needs to know how many varyings are already assigned
slots. A new functi
On 10/23/2011 01:19 PM, Marek Olšák wrote:
On Sat, Oct 22, 2011 at 2:14 AM, Dan McCabe wrote:
Modify the linker to assign additional slots for varying
variables used by transform feedback. This is done after other
varyings are already assigned slots.
Since this is done after previous varying
Hi all,
Apologies if this is a stupid n00b question, but I'm getting errors
building glxext.c in mesa/mesa/src/glx.
Specific error msg is:
glxext.c: In function ‘__glXWireToEvent’:
glxext.c:141:35: error: ‘xGLXBufferSwapComplete’ has no member
named ‘sbc_hi’
glxext
Hi all,
Apologies if this is a stupid n00b question, but I'm getting errors
building glxext.c in mesa/mesa/src/glx.
Specific error msg is:
glxext.c: In function ‘__glXWireToEvent’:
glxext.c:141:35: error: ‘xGLXBufferSwapComplete’ has no member
named ‘sbc_hi’
glxext
This patch set adds support for switch statements to the GLSL compiler. We
modify the grammar for the compiler with productions for switch statements
and case labels, while adding supporting supporting productions not already
present. New AST classes are defined to support those productions. Howev
The grammar is modified to support switch statements. Rather than follow the
grammar in the appendix, which allows case labels to be placed ANYWHERE
as a regular statement, we follow the development of the grammar as
described in the body of the GLSL.
In this variation, the switch statement has a
Data structures for switch statement and case label are created that parallel
the structure of other AST data.
---
src/glsl/ast.h | 27 +++
1 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/src/glsl/ast.h b/src/glsl/ast.h
index 878f48b..48d1795 100644
--- a/
Previously we added productions for:
switch_body
case_label_list
case_statement
case_statement_list
Now add AST structs corresponding to those productions.
---
src/glsl/ast.h | 49 +
1 files changed, 49 insertions(+)
We now tie the grammar to the ctors of the ASTs they reference.
This requires that we actually have definitions of the ctors.
In addition, we also need to define "print" and "hir" methods for the AST
classes. At this stage of the development, we simply stub out the "print"
and "hir" methods and f
Pretty trivial stuff. Simply print the structure of the ASTs. No magic here.
---
src/glsl/glsl_parser_extras.cpp | 38 --
1 files changed, 32 insertions(+), 6 deletions(-)
diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp
index a3
A loop is generated for the wrapper of the switch statement. We need to force
the exit of that loop after all cases are processed. Therefore, generate
an implicit break at the very end of the loop.
---
src/glsl/ast_to_hir.cpp |8
1 files changed, 8 insertions(+), 0 deletions(-)
diff
Beware! Here be dragons!
Up until now modyfing the GLSL compiler has been pretty straightforward.
This is where things get interesting.
Switch statement processing leverages infrastructure that was previously
created (specifically for break statements, which are encountered in both
loops and swit
.
cheers, danm
On Wed, Jun 15, 2011 at 11:59 AM, Kenneth Graunke wrote:
> On 06/15/2011 09:33 AM, Dan McCabe wrote:
>
>> Data structures for switch statement and case label are created that
>> parallel
>> the structure of other AST data.
>> ---
>> src/glsl/a
This patch set adds support for switch statements to the GLSL compiler. We
modify the grammar for the compiler with productions for switch statements
and case labels, while adding supporting supporting productions not already
present. New AST classes are defined to support those productions. Howev
Data structures for switch statement and case label are created that parallel
the structure of other AST data.
---
src/glsl/ast.h | 24
1 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/src/glsl/ast.h b/src/glsl/ast.h
index 878f48b..39a59d4 100644
--- a/src
The grammar is modified to support switch statements. Rather than follow the
grammar in the appendix, which allows case labels to be placed ANYWHERE
as a regular statement, we follow the development of the grammar as
described in the body of the GLSL.
In this variation, the switch statement has a
Previously we added productions for:
switch_body
case_label_list
case_statement
case_statement_list
Now add AST structs corresponding to those productions.
---
src/glsl/ast.h | 49 +
1 files changed, 49 insertions(+)
We now tie the grammar to the ctors of the ASTs they reference.
This requires that we actually have definitions of the ctors.
In addition, we also need to define "print" and "hir" methods for the AST
classes. At this stage of the development, we simply stub out the "print"
and "hir" methods and f
Pretty trivial stuff. Simply print the structure of the ASTs. No magic here.
---
src/glsl/glsl_parser_extras.cpp | 38 --
1 files changed, 32 insertions(+), 6 deletions(-)
diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp
index a3
Beware! Here be dragons!
Up until now modyfing the GLSL compiler has been pretty straightforward.
This is where things get interesting.
Switch statement processing leverages infrastructure that was previously
created (specifically for break statements, which are encountered in both
loops and swit
collection of IR changes.
cheers, danm
On 06/17/2011 05:43 PM, Dan McCabe wrote:
This patch set adds support for switch statements to the GLSL compiler. We
modify the grammar for the compiler with productions for switch statements
and case labels, while adding supporting supporting productions
On 06/19/2011 02:21 PM, Eric Anholt wrote:
On Sat, 18 Jun 2011 09:29:32 +0200, Keith Packard wrote:
On Fri, 17 Jun 2011 17:43:14 -0700, Dan McCabe wrote:
break; // implicit exit from loop at end of switch
} while (true);
Seems like this could just be
On 06/20/2011 03:39 PM, Ian Romanick wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 06/17/2011 05:43 PM, Dan McCabe wrote:
The grammar is modified to support switch statements. Rather than follow the
grammar in the appendix, which allows case labels to be placed ANYWHERE
as a regular
On 06/20/2011 03:31 PM, Ian Romanick wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 06/17/2011 05:43 PM, Dan McCabe wrote:
+
+ exec_list cases;
What types are in this list? If this is a list of ast_case_statements,
there should be a comment to that effect. We've been r
On 06/20/2011 03:34 PM, Ian Romanick wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 06/17/2011 05:43 PM, Dan McCabe wrote:
We now tie the grammar to the ctors of the ASTs they reference.
This requires that we actually have definitions of the ctors.
In addition, we also need to
On 06/20/2011 03:50 PM, Ian Romanick wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 06/17/2011 05:43 PM, Dan McCabe wrote:
Beware! Here be dragons!
I think this will generate the wrong code for:
for (i = 0; i< 10; i++) {
switch
On 06/24/2011 01:17 PM, Dan McCabe wrote:
On 06/20/2011 03:50 PM, Ian Romanick wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 06/17/2011 05:43 PM, Dan McCabe wrote:
Beware! Here be dragons!
I think this will generate the wrong code for:
for (i = 0; i< 10
On 06/27/2011 05:15 PM, Kenneth Graunke wrote:
On 06/24/2011 05:11 PM, Dan McCabe wrote:
Looking at a translation of my canonical example:
switch (expr) {
case c0:
case c1:
stmt0;
case c2:
case c3:
stmt1;
break;
case c4:
default:
stmt2;
}
We can
On 06/27/2011 04:40 PM, Kenneth Graunke wrote:
Here's another case that I'm not sure you're handling
correctly...conditional breaks:
switch (expr) {
case c0:
case c1:
stmt0;
case c2:
case c3:
stmt1;
break;
case c4:
stmt2;
if (foo)
break;
stmt3;// happens
On 06/27/2011 05:35 PM, Keith Packard wrote:
On Mon, 27 Jun 2011 17:23:30 -0700, Dan McCabe wrote:
Since I am just about to start modifying the IR generation, I'm open to
suggestion.
I'd write the simplest possible code that works now and then consider
optimizing it later. Th
On 06/28/2011 09:12 AM, Paul Berry wrote:
On 27 June 2011 17:35, Keith Packard wrote:
I'd write the simplest possible code that works now and then consider
optimizing it later. This has the advantage that you can get a bunch of
tests working and then use those to validate a later, more complica
This patch set adds support for switch statements to the GLSL compiler. We
modify the grammar for the compiler with productions for switch statements
and case labels, while adding supporting supporting productions not already
present. New AST classes are defined to support those productions. Howev
Data structures for switch statement and case label are created that parallel
the structure of other AST data.
---
src/glsl/ast.h | 24
1 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/src/glsl/ast.h b/src/glsl/ast.h
index 878f48b..2ee0b11 100644
--- a/src
The grammar is modified to support switch statements. Rather than follow the
grammar in the appendix, which allows case labels to be placed ANYWHERE
as a regular statement, we follow the development of the grammar as
described in the body of the GLSL.
In this variation, the switch statement has a
Previously we added productions for:
switch_body
case_label_list
case_statement
case_statement_list
Now add AST structs corresponding to those productions.
---
src/glsl/ast.h | 59
1 files changed, 59 insert
We now tie the grammar to the ctors of the ASTs they reference.
This requires that we actually have definitions of the ctors.
In addition, we also need to define "print" and "hir" methods for the AST
classes. The Print methods are pretty simple to flesh out. However, at this
stage of the developm
Up until now modifying the GLSL compiler has been pretty straightforward.
This is where things get interesting. But still pretty straightforward.
Switch statements can be thought of a series of if/then/else statements.
Case labels are compared with the value of a test expression and the case
state
Comments at the end (where they are supposed to be :).
On 06/17/2011 05:54 PM, Dan McCabe wrote:
There are three changes from the patch set I published on 6/15:
1) Removed IR pointers from AST classes and moved them to
glsl_parser_state,
2) Manage the new IR in a stack-like manner to properly
On 06/28/2011 10:47 PM, Kenneth Graunke wrote:
On 06/28/2011 02:48 PM, Dan McCabe wrote:
Previously we added productions for:
switch_body
case_label_list
case_statement
case_statement_list
Now add AST structs corresponding to those productions.
Both 1/3 and 3/3
Right back at ya', comments in-line, in response to your in-line comments.
Thanks for the good feedback and review.
cheers, danm
On 06/29/2011 12:53 PM, Kenneth Graunke wrote:
On 06/28/2011 02:48 PM, Dan McCabe wrote:
Up until now modifying the GLSL compiler has been pretty straightfo
Is there a good reason not to build the internal glsl_compiler (in
mesa/src/glsl) and link it with builtin_function.o? It is currently
being built with builtin_stubs.o.
I can understand why builtin_compiler uses builtin_stubs.o instead of
builtin_function.o (to avoid conflicts while building
On 07/09/2011 08:56 AM, Chad Versace wrote:
Up until this point, we incorrectly believed that the stencil buffer is
Y-tiled. In fact, it is W tiled. From PRM Vol 1 Part 2 Section 4.5.2.1
W-Major Tile Format:
"W-Major Tile Format is used for separate stencil."
Since the stencil buffer is all
On 07/11/2011 04:03 PM, Chad Versace wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 07/11/2011 12:49 PM, Dan McCabe wrote:
On 07/09/2011 08:56 AM, Chad Versace wrote:
Up until this point, we incorrectly believed that the stencil buffer is
Y-tiled. In fact, it is W tiled. From PRM Vol
This patch set adds support for switch statements to the GLSL compiler. We
modify the grammar for the compiler with productions for switch statements
and case labels, while adding supporting supporting productions not already
present. New AST classes are defined to support those productions. Howev
Data structures for switch statement and case label are created that parallel
the structure of other AST data.
---
src/glsl/ast.h | 24
1 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/src/glsl/ast.h b/src/glsl/ast.h
index 878f48b..2ee0b11 100644
--- a/src
The grammar is modified to support switch statements. Rather than follow the
grammar in the appendix, which allows case labels to be placed ANYWHERE
as a regular statement, we follow the development of the grammar as
described in the body of the GLSL spec.
In this variation, the switch statement h
Previously we added productions for:
switch_body
case_label_list
case_statement
case_statement_list
Now add AST structs corresponding to those productions.
---
src/glsl/ast.h | 59
1 files changed, 59 insert
We now tie the grammar to the ctors of the ASTs they reference.
This requires that we actually have definitions of the ctors.
In addition, we also need to define "print" and "hir" methods for the AST
classes. The Print methods are pretty simple to flesh out. However, at this
stage of the developm
Up until now modifying the GLSL compiler has been pretty straightforward.
This is where things get interesting. But still pretty straightforward.
Switch statements can be thought of a series of if/then/else statements.
Case labels are compared with the value of a test expression and the case
state
On 08/03/2011 12:47 PM, Ian Romanick wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 08/03/2011 12:11 PM, Bryan Cain wrote:
On 08/03/2011 01:58 PM, Ian Romanick wrote:
I think this solves the issue for the compressor and for the software
decompressor. I don't think this solves the pro
On 08/03/2011 12:39 PM, Paul Berry wrote:
On 1 August 2011 17:29, Dan McCabe wrote:
This patch set adds support for switch statements to the GLSL compiler. We
modify the grammar for the compiler with productions for switch statements
and case labels, while adding supporting supporting
On 08/15/2011 09:48 AM, Paul Berry wrote:
On 15 August 2011 08:50, Jose Fonseca wrote:
In places you don't have native int division support, you could use one
Newton-Raphson iteration step for almost accurate results, assuggested accuracy
of SSE2's RCPPS instructions. See for reference the fo
On 08/15/2011 10:45 AM, Paul Berry wrote:
On 15 August 2011 10:11, Dan McCabe wrote:
You might also want to consider implementing
quotient = int((float(x) + 0.5 * float(y)) * reciprocal(float(y)));
This rounds the result to the nearest integer rather then flooring the
result and is
On 08/16/2011 07:06 AM, vlj wrote:
From: Vincent Lejeune
This optimisation pass will look for and pack together float,
vec2, vec3 varyings in fragment shaders and transform the vertex
shader accordingly. It might improve performance depending on
the hardware.
Do you have any quatitative data
On 08/19/2011 10:44 AM, Chad Versace wrote:
On 08/19/2011 10:35 AM, Eric Anholt wrote:
On Thu, 18 Aug 2011 14:02:46 -0700, Chad Versace wrote:
When intel_verify_dri2_has_hiz() discovers that DRI2 (that is, the DDX
driver) cannot provide a separate stencil buffer, but
intel_context::hw_must_use
On 08/18/2011 01:23 PM, Kenneth Graunke wrote:
On 08/18/2011 12:02 PM, Matt Turner wrote:
On Thu, Aug 18, 2011 at 2:38 PM, Eric Anholt wrote:
+ bool progress = true;
+ while (progress) {
+ progress = false;
+ progress = dead_code_eliminate() || progress;
|| progress is always f
What are the implications for other architectures that support doubles?
On 08/19/2011 05:56 PM, Eric Anholt wrote:
At least for Intel, all our uniform components are of uint32_t size, either
float or signed or unsigned int. For uploading uniform data in the driver,
it's much easier to upload a
On 08/20/2011 12:16 AM, Kenneth Graunke wrote:
On 08/19/2011 05:56 PM, Eric Anholt wrote:
We have to actually convert the values on the way out. Fixes piglit
ARB_shader_objects/getuniform.
---
src/mesa/main/uniforms.c | 32
1 files changed, 28 insertions(+)
On 08/20/2011 01:30 PM, Bryan Cain wrote:
On 08/20/2011 03:05 PM, Dan McCabe wrote:
What are the implications for other architectures that support doubles?
I don't see what you mean. gl_constant_value doesn't support doubles yet.
"Yet" - that is the operative word.
Y
59 matches
Mail list logo