Ben Skeggs
139062946d
nv50: inline nv50_state_flush_notify()
...
It's (rightly) not called from anywhere else now
2010-03-10 16:30:03 +10:00
Ben Skeggs
7b7fcb0854
nv50: remove nv50_context.state.instbuf
2010-03-10 16:30:02 +10:00
Ben Skeggs
9b233ce7de
nv50: remove unnecessary macro
2010-03-10 16:30:02 +10:00
Ben Skeggs
3f93fa6010
nv50: move nv50_prim() into a header file rather than duplicating
2010-03-10 16:30:01 +10:00
Ben Skeggs
4796986c98
nv50: add option to force immediate-mode submission, disable by default
2010-03-10 16:30:01 +10:00
Ben Skeggs
160bda24ed
nv50: re-add immediate mode vertex submission paths
2010-03-10 16:30:00 +10:00
Ben Skeggs
0842829c18
nv50: when doing inline indices, split elt lists so they fit into pushbuf
2010-03-10 16:30:00 +10:00
Ben Skeggs
d8a415425e
nv50: reimplement draw_elements_instance(), use for draw_elements() too
...
This makes draw_elements()/draw_elements_instanced() do the right thing
for the non-inline elements cases, and not require flush_notify().
2010-03-10 16:30:00 +10:00
Ben Skeggs
621c4609f8
nv50: reimplement draw_arrays_instanced(), do draw_arrays() in terms of it
...
This makes draw_arrays()/draw_arrays_instanced() do the right thing and
not require the (probably broken anyway) flush_notify() usage.
It also fixes a potential bug in the behaviour of reading InstanceID from
shaders, where 0 should be read for non-instanced drawing, previously it
was possible to read non-0 ids if mixing instanced/non-instanced.
2010-03-10 16:30:00 +10:00
Ben Skeggs
a527716e81
nv50: rip out inline push draw paths temporarily
2010-03-10 16:30:00 +10:00
Ben Skeggs
2b8c0cf169
nv50: make use of scissor enable/disable method
2010-03-10 16:29:59 +10:00
Ben Skeggs
885d2eceb1
nv50: move magic 0x142c stuff to after state emission
2010-03-10 16:29:59 +10:00
Ben Skeggs
0e6af1fcaa
nv50: avoid unnecessary vp/gp/fp state changes
2010-03-10 16:29:59 +10:00
Ben Skeggs
2a84db24b3
nv50: remove pre_pipebuffer_map hack....
2010-03-10 16:29:59 +10:00
Ben Skeggs
3f804b0f19
nv50: remove horrific abuse of nouveau_channel.flush_notify
...
Really though, using this at all is just not a good idea in the 3D driver.
I'm almost certain the hardware will not like a reloc appearing between
begin()/end().. Anyways, this is still better than before, more fixes
to come..
2010-03-10 16:29:59 +10:00
Ben Skeggs
c926ed0e76
nv50: always emit dummy relocs for all still-referenced buffers
2010-03-10 16:29:59 +10:00
Ben Skeggs
e1d015fe22
nv50: ensure enough room for state changes in current pushbuf
...
Also allows the nv50_state_validate() caller to request a minimum amount
of space that itself requires, not all callers accurately use this yet
but the simple cases are now accounted for.
Rendering will also be dropped on the floor if validate fails now.
2010-03-10 16:29:58 +10:00
Ben Skeggs
62ab89785b
nv50: rework state emission
2010-03-10 16:29:58 +10:00
Ben Skeggs
ac2b35fd2d
nv50: use relocs rather than re-uploading TIC all the time
2010-03-10 16:29:58 +10:00
Corbin Simpson
007f25b3bd
r300g: Reorder regs, save one dword.
...
Or, put another way, save 10% on rendering calls.
2010-03-09 21:37:49 -08:00
Eric Anholt
a81836ee2f
i965: Fix ENDLOOP to only patch up this loop's BREAK and CONT.
...
Corresponds to d225a25e21a24508aea3b877c78beb35502e942d and fixes
piglit glsl-fs-loop-nested. Bug #25173 .
2010-03-09 14:42:17 -08:00
Eric Anholt
6b194dab6b
i965: Unalias all GLSL source regs from the destination regs used.
...
We were doing it ad-hoc before, as instructions with potential
aliasing problems were identified. But thanks to swizzling basically
anything can have aliasing, so just do it generally at source reg
setup time. This is somewhat inefficient, because sometimes an
operation doesn't need unaliasing protection if the swizzling is safe,
but the unaliasing before didn't cover those cases either.
Fixes piglit glsl-fs-loop.
2010-03-09 14:42:17 -08:00
Eric Anholt
280abdacf9
i965: Print the offsets for WHILE and BREAK in disasm.
2010-03-09 14:42:17 -08:00
Eric Anholt
f6f547d87e
i965: Fix nested loops in the VS.
...
We were patching up all the break and continues between the start of
our loop and the end of our loop, even if they were breaks/continues
for an inner loop. Avoiding patching already patched breaks/continues
fixes piglit glsl-vs-loop-nested.
2010-03-09 14:42:17 -08:00
Eric Anholt
7f6d2754d5
i965: Fix up VP constbuf leak on program delete.
2010-03-09 14:42:17 -08:00
Maciej Cencora
eeaf1e0519
r300: don't crash if there's no colorbuffer
2010-03-09 23:13:19 +01:00
Maciej Cencora
b70dcabafc
radeon: mark framebuffer as incomplete if renderbuffer format isn't supported by hw
2010-03-09 21:50:59 +01:00
Maciej Cencora
fd05067c99
r300: add support for more rendering formats
2010-03-09 21:50:30 +01:00
Maciej Cencora
a17563c7dd
radeon/r200/r300/r600: add is_format_renderable function
2010-03-09 21:50:20 +01:00
Maciej Cencora
bd2239e497
progs/tests: use first color attachement
...
Allows the tests to be run on drivers that supports only one color attachement.
2010-03-09 21:46:14 +01:00
Maciej Cencora
67108b5d12
r300: enable HW accelerated gl(Read/Copy/Draw)Pixels
2010-03-09 21:46:14 +01:00
Maciej Cencora
ac2b7835d5
radeon: add hw accelerated glReadPixel support (not enabled yet)
2010-03-09 21:46:14 +01:00
José Fonseca
3355ae1925
glapi: Fix scons build -- list new file.
2010-03-09 20:43:13 +00:00
George Sapountzis
20ed2445b3
glapi: allow for any mangle prefix
2010-03-09 22:04:51 +02:00
George Sapountzis
54ba95a4de
glapi: split out arch-specific code for entrypoints
2010-03-09 22:04:51 +02:00
George Sapountzis
2c8b5ffed9
glapi: mv table functions to glapi_getproc.c and add local header
2010-03-09 22:04:51 +02:00
George Sapountzis
fe14868d96
drop stray XFree86Server, XGLServer
2010-03-09 22:04:50 +02:00
Keith Whitwell
dc1e4cf87f
svga: Don't do culling while the software pipeline is active.
...
It does it for us, and additionally introduces potentially
back-facing triangles.
2010-03-09 20:49:05 +01:00
Roland Scheidegger
a673dee455
mesa/st: initialize velements state properly
...
one variable is a bitfield where the rest is never written to, which caused
valgrind to complain. Might have caused cso to not recognize an already stored
state. Reported by Christoph Bumiller.
2010-03-09 20:33:21 +01:00
Roland Scheidegger
0d6b0b0d9d
cso: don't forget to release vertex elements state
2010-03-09 20:33:21 +01:00
Marek Olšák
bf50d40f1b
r300g: kill pf_component_count
2010-03-09 20:12:52 +01:00
Brian Paul
2ccae040a4
gallivm: checkpoint: nearest mipmap filtering
...
The LOD is computed from texcoord partial derivatives and used to
select a mipmap level. Still some bugs in texel fetching. Lots of
rough edges and unfinished parts but the basics are in place.
Lots of changes to the lp_bld_arit.c code to support non-vector/scalar
datatypes.
2010-03-09 09:40:41 -07:00
Roland Scheidegger
e0f10a6fca
util: simplify util_format_get_nr_components helper
...
since the number of components is now stored in the pipe format description,
we obviously no longer need to figure this out ourselves.
2010-03-09 17:28:27 +01:00
José Fonseca
09a7c25e76
util: Use bitshift arithmetic for pack too.
2010-03-09 15:59:01 +00:00
Corbin Simpson
a73fd447d4
cso: Fix typo in assert.
2010-03-09 07:31:27 -08:00
Corbin Simpson
141c7cb0d6
r300g: Precalculate and CSO-bind PSC state.
2010-03-09 07:31:27 -08:00
Corbin Simpson
9c8cb12388
r300g: Cleanup old PSC code a bit.
2010-03-09 07:30:49 -08:00
Roland Scheidegger
4d02534628
identity: fix copy & paste error
2010-03-09 16:28:59 +01:00
Roland Scheidegger
22812421b5
r300g: fix gallium-vertexlementcso merge damage
2010-03-09 16:24:47 +01:00
Roland Scheidegger
685340a53e
Merge branch 'gallium-vertexelementcso'
...
Conflicts:
src/gallium/auxiliary/cso_cache/cso_context.c
src/gallium/auxiliary/util/u_blit.c
src/gallium/auxiliary/util/u_gen_mipmap.c
src/gallium/drivers/i915/i915_context.h
src/gallium/drivers/i965/brw_draw_upload.c
src/gallium/drivers/r300/r300_blit.c
src/gallium/drivers/r300/r300_context.h
src/gallium/drivers/r300/r300_render.c
src/gallium/drivers/r300/r300_state_derived.c
src/mesa/state_tracker/st_cb_bitmap.c
src/mesa/state_tracker/st_cb_clear.c
2010-03-09 15:59:40 +01:00