Marek Olšák
98f67a6bbd
r300g: reorder CS macros and document them a little
2010-06-13 17:43:38 +02:00
Marek Olšák
8f13e2bda1
r300g: drop DBG_CS
...
I'd like the CS macros to be as lightweight as possible for performance
reasons.
2010-06-13 17:43:38 +02:00
Marek Olšák
7005feabcd
r300g: inline CHECK_CS
2010-06-13 17:43:38 +02:00
Marek Olšák
ae182296ce
r300g: replace r300_cs_info with simplier get_cs_free_dwords
2010-06-13 17:43:38 +02:00
Marek Olšák
7d5230ce90
r300g: fix multiple render targets
...
This fixes tests/drawbuffers.
2010-06-13 17:43:38 +02:00
Marek Olšák
ea0ec0b48e
r300g: remove r300_state.h
2010-06-13 17:43:38 +02:00
Marek Olšák
cb17f5ee75
r300g: move two-sided stencilref fallback to its own file
2010-06-13 17:43:37 +02:00
Marek Olšák
aa5422327d
r300g: move index buffer translate functions to their new home
2010-06-13 17:43:37 +02:00
Marek Olšák
028459b0bf
r300g: add fallback for unaligned/unsupported vertex stride/offset/format
...
There is a problem though, the translate module cannot emit half float
vertices.
2010-06-13 17:43:37 +02:00
Marek Olšák
1384a7bcca
r300g: upload only vertex buffers referenced by vertex elements
2010-06-13 17:43:37 +02:00
Eric Anholt
1dc573a881
i965: Fix gen6 front cull mode.
2010-06-12 21:47:32 -07:00
Zhenyu Wang
5dbbb48f46
i965: Use the new message header format for FF_SYNC on gen6.
2010-06-12 21:47:32 -07:00
Zhenyu Wang
881ec3a814
i965: Add support for math instructions in the gen6 WM.
2010-06-12 21:47:32 -07:00
Zhenyu Wang
7ba2ecb32b
i965: Set the correct WM GRF start reg on gen6.
2010-06-12 21:47:31 -07:00
Eric Anholt
0f59b9a95d
i965: Update gen6 paths for the streaming rework.
2010-06-12 21:47:31 -07:00
Eric Anholt
7ad26b0030
i965: Stream out CC unit state.
...
before:
[ # ] backend test min(s) median(s) stddev. count
[ 0] gl firefox-talos-gfx 31.791 32.287 1.11% 6/6
after:
[ 0] gl firefox-talos-gfx 31.198 31.675 0.96% 6/6
2010-06-12 21:47:31 -07:00
Zack Rusin
db05972807
draw/gs: copy the outputs only if we emitted something
2010-06-12 10:45:42 -04:00
Zack Rusin
1551b4da8c
softpipe: small cleanup
2010-06-12 10:45:42 -04:00
Joakim Sindholt
60cfed6c70
r300/compiler: fix scons build
2010-06-12 15:40:14 +02:00
Vinson Lee
b6cfca42e3
i965: Remove unnecessary header.
2010-06-12 01:44:43 -07:00
Vinson Lee
e0b211d07c
scons: Disable i965g build if using MSVC.
...
i965g uses C99 constructs that are not supported by MSVC.
2010-06-11 18:43:58 -07:00
Vinson Lee
de51485000
scons: Disable i915g build if using MSVC.
...
i915g uses C99 constructs that are not supported by MSVC.
2010-06-11 18:42:57 -07:00
Ian Romanick
824b659d91
ir_constant: Eliminate 'void *' constructor
...
All of the places that had been using the (glsl_type *, void *)
constructor were actually passing an ir_constant_data for the
'void *'. The code can be greatly simplified by replacing this
constructor with a (glsl_type *, ir_constant_data *) constructor.
This should also help prevent one class of invalid uses of the old
constructor.
2010-06-11 17:12:40 -07:00
Ian Romanick
b74b43e4ba
Use statically typed ir_constant constructors wherever possible
2010-06-11 17:12:23 -07:00
Ian Romanick
4976e57448
ir_reader: Use 'union ir_constant_data' in read_constant
2010-06-11 17:12:23 -07:00
Ian Romanick
f8b88bea0f
ir_constant_visitor: Type of constant result is same as original expression
...
The type of the resulting constant must be the same as the type of the
original expression. The changes to the code require that the case
where an unhandled expression is received, and there really shouldn't
be any of these, must be an exit point.
2010-06-11 17:12:12 -07:00
Ian Romanick
083d75a942
ir_constant_visitor: Types of ir_binop_{equal,nequal} must match
...
The types must match exactly, so there is no reason to check the types here.
2010-06-11 17:11:14 -07:00
Ian Romanick
4daaab6040
ir_constant_visitor: Use 'union ir_constant_data' in expression handler
2010-06-11 17:11:06 -07:00
Ian Romanick
0bb70a30d5
ir_constant_visitor: Use 'union ir_constant_data' instead of open-coded version
2010-06-11 15:49:49 -07:00
Ian Romanick
be1d2bfdea
Matrix and vector constructors with a single constant scalar are constant
2010-06-11 15:48:26 -07:00
Ian Romanick
39d6dd3537
ir_constant_visitor: Handle bool-to-int and int-to-bool
2010-06-11 15:43:59 -07:00
Ian Romanick
7825d3d157
Treat ?: with all constant subexpressions as a constant expression
2010-06-11 15:43:59 -07:00
Ian Romanick
0ad76c6767
Rearrange code in HIR conversion of ?: operator
...
There are no functional changes. Code is just moved arround. This
prepares for the next set of changes that do change the functionality.
2010-06-11 15:43:59 -07:00
Ian Romanick
c2ba619092
ir_constant_visitor: Handle constant swizzles
2010-06-11 15:43:59 -07:00
Ian Romanick
9b92af9ebc
ir_constant_visitor: Handle array access of constant vectors and matrices
2010-06-11 15:43:56 -07:00
Ian Romanick
2cf0969de5
Remove redundant type checks for constant constructors
...
All of the cases (e.g., arrays and structures) that were being
filtered by these tests were already filtered by the earlier
is_numeric and is_boolean tests.
2010-06-11 15:37:34 -07:00
Ian Romanick
1a872b1af3
Do simple constant folding while processing function call parameters
2010-06-11 15:37:34 -07:00
Ian Romanick
253dedeb6c
ir_constant_visitor: Handle dereferences of constant records
2010-06-11 15:37:27 -07:00
Ian Romanick
b94c29a47b
ir_constant: Add get_record_field query
2010-06-11 15:36:05 -07:00
Ian Romanick
eeedd355cf
Add glsl_types::field_index to get the location of a record field
2010-06-11 13:51:42 -07:00
Ian Romanick
ab92d0e53e
Detect and process constant record constructors
2010-06-11 13:51:42 -07:00
Ian Romanick
c077131c0f
Move parameter processing out of match_function_by_name
...
Eventually code that processes constant structure constructors will
need to use the processed list of parameters.
2010-06-11 13:51:42 -07:00
Ian Romanick
d4b33edbd0
ir_constant_visitor: Use clone to create a constant from a variable reference
2010-06-11 13:51:42 -07:00
Ian Romanick
710919fd7c
ir_constant: Support constant structures in clone
2010-06-11 13:51:42 -07:00
Ian Romanick
7f1ab834d7
ir_constant: Add storage for multiple constants for arrays and records
2010-06-11 13:51:42 -07:00
Ian Romanick
93073551f9
Add glsl_type::is_record query
2010-06-11 13:51:42 -07:00
Ian Romanick
7dc2b71a89
Add float/bool conversion to ir_constant_expression.cpp.
2010-06-11 13:51:42 -07:00
Ian Romanick
00eb466e38
Constant-fold constructor parameters after type conversion
...
This causes the following tests to pass:
glslparsertest/shaders/CorrectMatComma2.frag
One of the incorrect errors in glslparsertest/shaders/CorrectComma.frag
is also eliminated.
2010-06-11 13:51:42 -07:00
Ian Romanick
9e08d019ce
Make constructors with all constant parameters generate in-line constants
2010-06-11 13:51:09 -07:00
Ian Romanick
756a3fac4f
Construct an ir_constant from a list of ir_constant values
2010-06-11 13:51:09 -07:00