Commit Graph

32098 Commits

Author SHA1 Message Date
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
Roland Scheidegger ae7b7bf1ed st/mesa: fix clear/drawpixels/bitmap for new cso vertex elements interface
somehow those got lost...
2010-03-09 15:09:01 +01:00
Roland Scheidegger e8983f70b4 gallium: don't use flexible array members in drivers for vertex elements cso
While this c99 feature should work with most compilers, valgrind doesn't
really like it, and this only really saves some memory, we don't do this
in similar occasions (like the blend state) neither.
2010-03-09 14:23:00 +01:00