José Fonseca
91bbe466c7
util: Add a func_to_pointer util function too.
16 years ago
Jakob Bornecrantz
0ee7a17d0c
swrastg: Fix glue file
16 years ago
Zack Rusin
5d5fa34757
graw: small fixups for the gs examples
16 years ago
Marek Olšák
8ad410dc13
r300g: fix uploading RC state shader constants on r3xx
I've messed this up in one of my previous commits.
Reported-by: Igor Murzov
16 years ago
Marek Olšák
1c0e5ba9f1
r300g: drop begin_cs/end_cs
I have had a look at the libdrm sources and they just contain more or less
the same checking we do in macros, and begin_cs may realloc the CS buffer
if we overflow it, which never happens with r300g. So these are pretty
much useless.
There is a small but measurable performance increase by dropping the two
functions.
16 years ago
Marek Olšák
cf3778bae0
r300g: rewrite occlusion queries
The previous implementation had issues with queries spanning over several
command streams as well as using a very large number of queries.
This fixes flickering in Enemy Territory: Quake Wars. The driver now renders
everything correctly in this game and the graphics is awesome.
16 years ago
Marek Olšák
824c1f6a4a
r300g: emit viewport state as a dword table
16 years ago
Marek Olšák
8874c9d7a3
r300g: subclass pipe_surface
16 years ago
Marek Olšák
39826a2036
r300g: simplify reloc macros
16 years ago
Marek Olšák
c1f18bff3e
r300g: count CS dwords on debug builds only
16 years ago
Marek Olšák
f558bcb397
r300g: optimize emission of fragment shader constants
16 years ago
Marek Olšák
3da6487115
r300g: turn fragment shader into a CB
16 years ago
Marek Olšák
0a44efaeb9
r300g: turn depth stencil state into a CB
16 years ago
Marek Olšák
f803211629
r300g: turn clip state into a CB
16 years ago
Marek Olšák
9dd50993c6
r300g: turn blend color into a CB
16 years ago
Marek Olšák
cd891648d4
r300g: turn blend state into a CB
16 years ago
Marek Olšák
a062156bb2
r300g: add API for building command buffers
The idea is to build a hardware command buffer for every CSO and memcpy
the buffer to a command stream at bind time (or dirty-state-emission time,
to be precise).
16 years ago
Marek Olšák
7ca24dfa6d
r300g: inline FLUSH_CS
The fewer macros, the better.
16 years ago
Marek Olšák
98f67a6bbd
r300g: reorder CS macros and document them a little
16 years ago
Marek Olšák
8f13e2bda1
r300g: drop DBG_CS
I'd like the CS macros to be as lightweight as possible for performance
reasons.
16 years ago
Marek Olšák
7005feabcd
r300g: inline CHECK_CS
16 years ago
Marek Olšák
ae182296ce
r300g: replace r300_cs_info with simplier get_cs_free_dwords
16 years ago
Marek Olšák
7d5230ce90
r300g: fix multiple render targets
This fixes tests/drawbuffers.
16 years ago
Marek Olšák
ea0ec0b48e
r300g: remove r300_state.h
16 years ago
Marek Olšák
cb17f5ee75
r300g: move two-sided stencilref fallback to its own file
16 years ago
Marek Olšák
aa5422327d
r300g: move index buffer translate functions to their new home
16 years ago
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.
16 years ago
Marek Olšák
1384a7bcca
r300g: upload only vertex buffers referenced by vertex elements
16 years ago
Eric Anholt
1dc573a881
i965: Fix gen6 front cull mode.
16 years ago
Zhenyu Wang
5dbbb48f46
i965: Use the new message header format for FF_SYNC on gen6.
16 years ago
Zhenyu Wang
881ec3a814
i965: Add support for math instructions in the gen6 WM.
16 years ago
Zhenyu Wang
7ba2ecb32b
i965: Set the correct WM GRF start reg on gen6.
16 years ago
Eric Anholt
0f59b9a95d
i965: Update gen6 paths for the streaming rework.
16 years ago
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
16 years ago
Zack Rusin
db05972807
draw/gs: copy the outputs only if we emitted something
16 years ago
Zack Rusin
1551b4da8c
softpipe: small cleanup
16 years ago
Joakim Sindholt
60cfed6c70
r300/compiler: fix scons build
16 years ago
Vinson Lee
b6cfca42e3
i965: Remove unnecessary header.
16 years ago
Vinson Lee
e0b211d07c
scons: Disable i965g build if using MSVC.
i965g uses C99 constructs that are not supported by MSVC.
16 years ago
Vinson Lee
de51485000
scons: Disable i915g build if using MSVC.
i915g uses C99 constructs that are not supported by MSVC.
16 years ago
Tom Stellard
3eca311b72
r300/compiler: Handle more complex conditionals in loops.
16 years ago
Tom Stellard
bde34a76b5
r300/compiler: Fix warning.
16 years ago
Tom Stellard
f7269cf26a
r300/compiler: Handle SGT and SLE at the beginning of loops.
16 years ago
Tom Stellard
0125f5270b
r300/compiler: Verify assumptions about opcode types.
16 years ago
Tom Stellard
6f1b6814bc
r300/compiler: Unroll loops that decrement the counter.
e.g. for(i=10; i>0; i--)
16 years ago
Tom Stellard
0f1109ce36
r300/compiler: Unroll loops that have a constant number of iterations.
This only works with for loops that increment the counter.
e.g. for(i=0; i<10; i++)
16 years ago
Tom Stellard
622fd4d061
r300/compiler: Implement simple loop emulation
The loop emulation unrolls loops as may times as possbile while still
keeping the shader program below the maximum instruction limit. At this
point, there are no checks for constant conditionals. This is only enabled
for fragment shaders.
16 years ago
Eric Anholt
108264e859
i965: Remove the surface key used to generate constant surfaces.
We had to fill out all that junk when using the cache, but no more.
16 years ago
Eric Anholt
34c82804ed
i965: Warning fixes from the i965-streaming merge.
16 years ago
Zack Rusin
53bd9796a1
gallium/softpipe/draw: support samplers in geometry shaders
16 years ago