Jakob Bornecrantz
2932dd6374
glhd: Remove leftover file
2010-06-28 21:37:03 +02:00
Eric Anholt
904b5bfe99
ir_to_mesa: Add support for the pow expression.
...
Fixes glsl-algebraic-pow-two.
2010-06-28 12:26:19 -07:00
Eric Anholt
cbe52c8012
ir_to_mesa: Fix EmitCondCodes for boolean vars as condition.
...
Fixes glsl-vs-if-bool.
2010-06-28 12:17:25 -07:00
Jakob Bornecrantz
a01e0afd9f
Merge branch 'gallium-drm-driver-drescriptor'
...
Conflicts:
src/gallium/state_trackers/egl/x11/native_dri2.c
src/gallium/state_trackers/egl/x11/native_x11.c
src/gallium/state_trackers/egl/x11/native_x11.h
src/gallium/state_trackers/xorg/xorg_driver.c
src/gallium/winsys/radeon/drm/radeon_drm.c
2010-06-28 21:14:45 +02:00
Eric Anholt
854fd66cbb
ir_to_mesa: Respect EmitCondCodes for IF statements.
...
Fixes glsl-vs-if-* for the 965 driver.
2010-06-28 12:01:23 -07:00
Eric Anholt
0a52e8b691
ir_to_mesa: Traverse the "else" instrs after "else", instead of "then" again.
2010-06-28 11:45:10 -07:00
Eric Anholt
3f3f41357d
ir_to_mesa: Fix matrix * scalar multiplication.
...
We're accessing in terms of columns, so we need to do MUL/MAD/MAD/MAD
instead of DP4s.
Fixes:
glsl-fs-exp2
glsl-fs-log2
glsl-fs-mix-constant
glsl-fs-sqrt-zero
glsl-vs-sqrt-zero
2010-06-28 11:14:47 -07:00
Eric Anholt
ad2dc740b9
ir_to_mesa: Check the right element for matrix * scalar multiplication.
2010-06-28 11:14:47 -07:00
Eric Anholt
bd3b835e7c
glsl2: Add support for some builtin matrices.
2010-06-28 11:14:47 -07:00
Eric Anholt
81b7b79c47
ir_to_mesa: Fix copy and wasted InputsRead/OutputsWritten setup.
2010-06-28 11:14:47 -07:00
Kenneth Graunke
5f3fe44595
Use a more sensible context in copy propagation.
2010-06-28 11:14:47 -07:00
Kenneth Graunke
a815f7fb83
Use more sensible contexts in ir_dead_code_local.
2010-06-28 11:14:47 -07:00
Ian Romanick
22c23dedad
glsl2: Add option to stand-alone GLSL compiler to dump IR before optimizations
2010-06-28 10:04:22 -07:00
Ian Romanick
26b5d33dce
glsl2: Use i2b and f2b IR opcodes for casting int or float to bool
2010-06-28 10:04:18 -07:00
José Fonseca
250b92f3bb
llvmpipe: set WRITE_ALL only a per-tile basis in lp_resource_copy().
2010-06-28 16:33:52 +01:00
José Fonseca
a9e0fda070
llvmpipe: Actually flush in lp_resource_copy()
...
The cpu_access is redundant in a software rasterizer.
2010-06-28 16:33:21 +01:00
José Fonseca
8be645d53a
llvmpipe: Ensure outdated framebuffer state is not reused in lp_setup_bind_framebuffer().
...
We were starting a scene whenever lp_setup_get_vertex_info() was called by
the draw module. So when when all primitives were culled/clipped, not only
did we create a new scene for nothing, but we end up using the old scene
with the old framebuffer state instead of a new one.
Fix consists in:
- don't call lp_setup_update_state() in lp_setup_get_vertex_info() -- no
longer necessary
- always setting the scene state before binning a command -- query
commands were bypassing it
- assert no old scene is reused in lp_setup_bind_framebuffer()
2010-06-28 16:33:05 +01:00
Marek Olšák
ce7a70b8b4
r300g: fix a compile error on non-debug builds
2010-06-27 17:15:23 +02:00
Marek Olšák
57c3f70018
util: fix a memory leak in blitter
2010-06-27 15:13:14 +02:00
Marek Olšák
0a19d57b84
r300g: separate the hyperz state and pipelined FB regs out of the FB state
2010-06-27 15:13:14 +02:00
Marek Olšák
808ad22592
r300g: release referenced objects in destroy_context
2010-06-27 15:13:13 +02:00
Marek Olšák
639a7daa85
r300g: reference surfaces in set_framebuffer_state
2010-06-27 15:13:13 +02:00
Marek Olšák
408a886127
r300g: group debug messages
2010-06-27 15:13:13 +02:00
Marek Olšák
0a9510814e
r300g: turn rasterizer state into a command buffer
2010-06-27 15:13:13 +02:00
Marek Olšák
c200c47e6c
r300g: move emission of the MSPOS regs into the framebuffer state
...
Now the question is whether we are allowed to ignore gl_rasterization_rules and
pipe_rasterizer_state::multisample. The former is invariant anyway and
I think the latter would need re-emitting the AA state which is quite costly,
considering that it implicitly flushes the whole pipeline (all AA regs
in the AA state are *unpipelined*).
2010-06-27 15:13:13 +02:00
Marek Olšák
bb47d1c26f
r300g: turn invariant state into a command buffer
2010-06-27 15:13:12 +02:00
Marek Olšák
8959f48bce
r300g: initialize some crucial state in the first CS
2010-06-27 15:13:08 +02:00
Marek Olšák
fcacc6a076
r300g: introduce VAP invariant state
...
Unlike other invariant states, this one must be emitted after VAP flush.
2010-06-26 17:57:20 +02:00
Marek Olšák
8350d1d6f1
r300g: immediate mode cleanup
2010-06-26 17:47:32 +02:00
Marek Olšák
5acdfdbf42
r300g: update my notes about fastfill and zbuffer compression
2010-06-26 17:43:58 +02:00
Marek Olšák
f39800b339
r300g: enum r300_blitter_op is a bitmask
2010-06-26 17:35:56 +02:00
Marek Olšák
8924201530
draw: fix build with llvm and make
2010-06-26 14:01:41 +02:00
Vinson Lee
ecd8c66d6a
mesa: Remove unnecessary header.
2010-06-26 00:47:52 -07:00
Vinson Lee
2943f1ed8c
st/mesa: Remove unnecessary headers.
2010-06-26 00:38:05 -07:00
Vinson Lee
3443b581fb
draw: Remove unnecessary header.
2010-06-26 00:31:57 -07:00
Eric Anholt
0bef5b97a9
glsl2: Add support for non-float constants in Mesa IR.
...
Fixes glsl-vs-vec4-indexing-4.
2010-06-25 18:01:20 -07:00
Eric Anholt
6152fa16a1
glsl2: Take out the spamming of debug flags I'd added.
2010-06-25 17:23:31 -07:00
Eric Anholt
b2d7ed2aba
glsl2: Don't clear swizzles for Mesa IR constants after fetching them.
...
Missed this while hacking in constants support. Fixes:
glsl-algebraic-mul-*
glsl-algebraic-rcp-*
glsl-vs-swizzle-swizzle-lhs
glsl-vs-vec4-indexing-6
2010-06-25 17:20:46 -07:00
Kenneth Graunke
78062273de
ir_reader: Free memory for S-Expressions earlier.
...
There's no point in keeping it around once we've read the IR.
Also, remove an unnecessary talloc_parent call.
2010-06-25 17:07:42 -07:00
Zack Rusin
4503bd33da
draw: deleted by mistake
2010-06-25 20:06:53 -04:00
Zack Rusin
a5c44986a3
draw: initialize headers in the none post paths as well
2010-06-25 19:58:09 -04:00
Eric Anholt
85c978f38c
glsl2: Start trying to hook up uniforms.
...
This should be resolved with linker.cpp's location assignment, as
currently we drop that location assignment on the ground. However,
this gets basic programs using uniforms working for now.
2010-06-25 16:35:36 -07:00
Eric Anholt
0fd97db8b0
glsl2: Associate the GLenum for the type with builtin GLSL types.
2010-06-25 16:35:22 -07:00
Zack Rusin
8ebfcf31eb
draw: limit the number of vertex shader variants kept around
...
we used to create and cache unltimited number of variant, this
change limits the number of variants kept around to a fixed number.
the change is based on a similar patch by Roland for llvmpipe fragment
shaders.
2010-06-25 19:33:27 -04:00
Zack Rusin
5cf1921e6d
draw: initialize vertex header
2010-06-25 19:33:27 -04:00
Eric Anholt
bda27424cf
glsl2: Use the parser state as the talloc context for dead code elimination.
...
This cuts runtime by around 20% from talloc_parent() lookups.
2010-06-25 13:38:38 -07:00
Eric Anholt
abc4e52992
glsl2: Emit OPCODE_END at the end of the Mesa program.
...
The 965 driver can now run a glsl2-generated shader!
2010-06-25 13:28:16 -07:00
Eric Anholt
582b73fe69
glsl2: Hook up constant parameters in ir_to_mesa.
2010-06-25 13:27:57 -07:00
Brian Paul
4ae530370d
gallium/util: fix pipe_sampler_view_reference() calls
...
The conditionals aren't needed.
2010-06-25 14:12:34 -06:00
Eric Anholt
ffc845a50a
glsl2: Set InputsRead and OutputsWritten on the generated programs.
2010-06-25 12:52:01 -07:00