mesa.git
15 years agoWIP comit
Dave Airlie [Thu, 29 Jan 2009 10:46:31 +0000 (20:46 +1000)]
WIP comit

15 years agor200: bring back single dma flush
Dave Airlie [Thu, 29 Jan 2009 10:33:07 +0000 (20:33 +1000)]
r200: bring back single dma flush

15 years agoradeon: remove even more common code
Dave Airlie [Thu, 29 Jan 2009 09:11:31 +0000 (19:11 +1000)]
radeon: remove even more common code

15 years agoradeon/r200/r300: bring back old style DMA buffer on top of BOs.
Dave Airlie [Thu, 29 Jan 2009 06:47:37 +0000 (16:47 +1000)]
radeon/r200/r300: bring back old style DMA buffer on top of BOs.

this gets back a lot of the lots speed in gears on r500 at least

I also fixed the legacy bufmgr to deal when the dma space fills up

15 years agor200: start work on userspace clear for r200
Dave Airlie [Thu, 29 Jan 2009 13:03:47 +0000 (23:03 +1000)]
r200: start work on userspace clear for r200

15 years agor200: unref swtcl buffer correctly
Dave Airlie [Thu, 29 Jan 2009 13:03:34 +0000 (23:03 +1000)]
r200: unref swtcl buffer correctly

15 years agor300: fix some whitespace
Dave Airlie [Thu, 29 Jan 2009 13:03:21 +0000 (23:03 +1000)]
r300: fix some whitespace

15 years agor200: re-write state handlers for new CS mechanism
Dave Airlie [Thu, 29 Jan 2009 13:02:43 +0000 (23:02 +1000)]
r200: re-write state handlers for new CS mechanism

15 years agor200: avoid setting variable on kernel mm setup
Dave Airlie [Thu, 29 Jan 2009 13:01:41 +0000 (23:01 +1000)]
r200: avoid setting variable on kernel mm setup

15 years agoradeon: add repeated register packet one
Dave Airlie [Thu, 29 Jan 2009 13:01:21 +0000 (23:01 +1000)]
radeon: add repeated register packet one

15 years agor200: fix up swtcl/tcl flushes
Dave Airlie [Thu, 22 Jan 2009 12:49:16 +0000 (22:49 +1000)]
r200: fix up swtcl/tcl flushes

15 years agoradeon: plug memory leak running gears
Dave Airlie [Thu, 22 Jan 2009 22:08:34 +0000 (08:08 +1000)]
radeon: plug memory leak running gears

15 years agoradeon: remove some debugging
Dave Airlie [Thu, 22 Jan 2009 21:34:45 +0000 (07:34 +1000)]
radeon: remove some debugging

15 years agoradeon: better free of array
Dave Airlie [Thu, 22 Jan 2009 11:49:58 +0000 (21:49 +1000)]
radeon: better free of array

15 years agoradeon: free all relocs in array
Dave Airlie [Thu, 22 Jan 2009 11:47:38 +0000 (21:47 +1000)]
radeon: free all relocs in array

15 years agoradeon: check relocs before deref
Dave Airlie [Thu, 22 Jan 2009 11:38:35 +0000 (21:38 +1000)]
radeon: check relocs before deref

15 years agoradeon: fix relocs even more
Dave Airlie [Thu, 22 Jan 2009 11:35:58 +0000 (21:35 +1000)]
radeon: fix relocs even more

15 years agoradeon: fix reloc free harder
Dave Airlie [Thu, 22 Jan 2009 11:31:06 +0000 (21:31 +1000)]
radeon: fix reloc free harder

15 years agoradeon: free indices caught with valgrind
Dave Airlie [Thu, 22 Jan 2009 11:29:22 +0000 (21:29 +1000)]
radeon: free indices caught with valgrind

15 years agoradeon: cleanup bo unref codepath in pending code
Dave Airlie [Thu, 22 Jan 2009 11:19:56 +0000 (21:19 +1000)]
radeon: cleanup bo unref codepath in pending code

assert for bad case hopefully

15 years agoradeon: fix counting for cfree handles in an inline
Dave Airlie [Thu, 22 Jan 2009 11:12:54 +0000 (21:12 +1000)]
radeon: fix counting for cfree handles in an inline

15 years agoradeon: add r100/r200 workarounds for legacy aging
Dave Airlie [Thu, 22 Jan 2009 16:47:15 +0000 (02:47 +1000)]
radeon: add r100/r200 workarounds for legacy aging

15 years agor200: disable some debug
Dave Airlie [Thu, 22 Jan 2009 14:23:10 +0000 (00:23 +1000)]
r200: disable some debug

15 years agor200: emit elts into a separate ELT bo
Dave Airlie [Thu, 22 Jan 2009 14:17:38 +0000 (00:17 +1000)]
r200: emit elts into a separate ELT bo

15 years agor200r300: start merging span code
Dave Airlie [Wed, 21 Jan 2009 16:53:30 +0000 (02:53 +1000)]
r200r300: start merging span code

15 years agor200: remove indexed verts
Dave Airlie [Wed, 21 Jan 2009 16:38:00 +0000 (02:38 +1000)]
r200: remove indexed verts

15 years agoradeon: fix 1D textures
Dave Airlie [Wed, 21 Jan 2009 15:24:50 +0000 (01:24 +1000)]
radeon: fix 1D textures

15 years agor200: fix cubemaps
Dave Airlie [Wed, 21 Jan 2009 15:17:31 +0000 (01:17 +1000)]
r200: fix cubemaps

15 years agor200/r300: port r200 texture handling to common code
Dave Airlie [Wed, 21 Jan 2009 15:05:43 +0000 (01:05 +1000)]
r200/r300: port r200 texture handling to common code

we now get texrect + trivial textures working

15 years agor300/radeon: move face_for_target
Dave Airlie [Wed, 21 Jan 2009 08:41:11 +0000 (18:41 +1000)]
r300/radeon: move face_for_target

15 years agor300: start migrating common functions into common code
Dave Airlie [Tue, 20 Jan 2009 16:21:45 +0000 (02:21 +1000)]
r300: start migrating common functions into common code

15 years agor300: move to common texture_image object
Dave Airlie [Tue, 20 Jan 2009 16:15:28 +0000 (02:15 +1000)]
r300: move to common texture_image object

15 years agoradeon/r200/r300: start to move to common miptree/texobj
Dave Airlie [Tue, 20 Jan 2009 16:10:32 +0000 (02:10 +1000)]
radeon/r200/r300: start to move to common miptree/texobj

15 years agor200: make tri render on my r200.
Dave Airlie [Tue, 20 Jan 2009 15:40:33 +0000 (01:40 +1000)]
r200: make tri render on my r200.

15 years agor200: tri runs without crashing - doesn't draw anything
Dave Airlie [Tue, 20 Jan 2009 12:59:34 +0000 (22:59 +1000)]
r200: tri runs without crashing - doesn't draw anything

15 years agor200: clear is working at least - not much else
Dave Airlie [Tue, 20 Jan 2009 12:51:04 +0000 (22:51 +1000)]
r200: clear is working at least - not much else

15 years agor300: move some more function to generic
Dave Airlie [Thu, 15 Jan 2009 06:50:58 +0000 (16:50 +1000)]
r300: move some more function to generic

15 years agoradeon/r200/r300: start to make cmd buf useful
Dave Airlie [Thu, 15 Jan 2009 06:41:01 +0000 (16:41 +1000)]
radeon/r200/r300: start to make cmd buf useful

15 years agor100/r200: move to new atom style emission
Dave Airlie [Thu, 15 Jan 2009 06:25:37 +0000 (16:25 +1000)]
r100/r200: move to new atom style emission

15 years agoradeon: get ctx right in copybuffer
Dave Airlie [Wed, 14 Jan 2009 05:54:28 +0000 (15:54 +1000)]
radeon: get ctx right in copybuffer

15 years agor200: add missing symbols
Dave Airlie [Wed, 14 Jan 2009 05:48:02 +0000 (15:48 +1000)]
r200: add missing symbols

15 years agoradeon/r200/r300: make legacy emit non-r300 specific
Dave Airlie [Wed, 14 Jan 2009 05:45:29 +0000 (15:45 +1000)]
radeon/r200/r300: make legacy emit non-r300 specific

15 years agoradeon: move debug symbol add DRI2
Dave Airlie [Wed, 14 Jan 2009 05:21:45 +0000 (15:21 +1000)]
radeon: move debug symbol add DRI2

15 years agor300: start moving new r300 cmdbuf into common code
Dave Airlie [Wed, 14 Jan 2009 05:12:57 +0000 (15:12 +1000)]
r300: start moving new r300 cmdbuf into common code

15 years agoradeon/r200/r300: consolidate swap buffers
Dave Airlie [Wed, 14 Jan 2009 03:38:12 +0000 (13:38 +1000)]
radeon/r200/r300: consolidate swap buffers

15 years agoradeon: remove old lock code
Dave Airlie [Wed, 14 Jan 2009 03:38:03 +0000 (13:38 +1000)]
radeon: remove old lock code

15 years agoradeon/r200/r300: consolidate the buffer copy/flip code into one place
Dave Airlie [Wed, 14 Jan 2009 03:23:24 +0000 (13:23 +1000)]
radeon/r200/r300: consolidate the buffer copy/flip code into one place

15 years agoradeon/r200/r300: attempt to move lock to common code
Dave Airlie [Wed, 14 Jan 2009 02:04:00 +0000 (12:04 +1000)]
radeon/r200/r300: attempt to move lock to common code

15 years agoradeon/r200/r300: initial attempt to convert to common context code
Dave Airlie [Wed, 14 Jan 2009 00:44:48 +0000 (10:44 +1000)]
radeon/r200/r300: initial attempt to convert to common context code

15 years agoradeon/r200: move more stuff closer together in context
Dave Airlie [Tue, 13 Jan 2009 22:40:15 +0000 (08:40 +1000)]
radeon/r200: move more stuff closer together in context

15 years agoradeon/r200: move state atom to common header
Dave Airlie [Tue, 13 Jan 2009 20:28:43 +0000 (06:28 +1000)]
radeon/r200: move state atom to common header

15 years agoradeon/r200: start splitting out commonalities into separate headers
Dave Airlie [Tue, 13 Jan 2009 12:55:27 +0000 (22:55 +1000)]
radeon/r200: start splitting out commonalities into separate headers

15 years agoradeon: use bo_wait to wait for all buffers to be rendered to
Dave Airlie [Tue, 13 Jan 2009 06:50:15 +0000 (16:50 +1000)]
radeon: use bo_wait to wait for all buffers to be rendered to

Not 100% sure this is correct, but its what Intel does and its better than
CP_IDLE.

15 years agoBump dri2proto requirement to 1.99.3, drop CopyRegion bitmask from protocol.
Kristian Høgsberg [Tue, 2 Dec 2008 02:44:03 +0000 (21:44 -0500)]
Bump dri2proto requirement to 1.99.3, drop CopyRegion bitmask from protocol.
(cherry picked from commit 154a9e5317f890618932cea0129ef887e16baf84)

15 years agoradeon/r300: add code to setup r300 vs r500 using pci device from kernel
Dave Airlie [Sat, 10 Jan 2009 23:47:38 +0000 (09:47 +1000)]
radeon/r300: add code to setup r300 vs r500 using pci device from kernel

15 years agor300: disable settexoffset extension on r300
Dave Airlie [Mon, 22 Dec 2008 07:04:39 +0000 (17:04 +1000)]
r300: disable settexoffset extension on r300

15 years agoradeon: fix library name for consistency
Dave Airlie [Mon, 22 Dec 2008 02:28:16 +0000 (12:28 +1000)]
radeon: fix library name for consistency

15 years agoradeon: remove start/end offset + cleanup some whitespace
Dave Airlie [Mon, 22 Dec 2008 01:41:32 +0000 (11:41 +1000)]
radeon: remove start/end offset + cleanup some whitespace

15 years agoradeon: fixup r500 FP emission for new CS
Dave Airlie [Mon, 22 Dec 2008 01:41:23 +0000 (11:41 +1000)]
radeon: fixup r500 FP emission for new CS

15 years agoradeno: hopefully make r200/radeon build
Dave Airlie [Sat, 20 Dec 2008 23:54:35 +0000 (09:54 +1000)]
radeno: hopefully make r200/radeon build

15 years agoradeon: make DRI1 one work with new CS mechanism
Dave Airlie [Mon, 1 Dec 2008 06:24:50 +0000 (16:24 +1000)]
radeon: make DRI1 one work with new CS mechanism

15 years agoradeon: cs add print cs callback
Jerome Glisse [Sun, 16 Nov 2008 16:59:46 +0000 (17:59 +0100)]
radeon: cs add print cs callback

15 years agoradeon: fix pointer dangling
Jerome Glisse [Sun, 16 Nov 2008 16:58:43 +0000 (17:58 +0100)]
radeon: fix pointer dangling

15 years agoradeon: update to libdrm-radeon API changes
Jerome Glisse [Sat, 15 Nov 2008 09:40:32 +0000 (10:40 +0100)]
radeon: update to libdrm-radeon API changes

15 years agoradeon: dri2 don't forget to free buffer
Jerome Glisse [Fri, 14 Nov 2008 10:25:28 +0000 (11:25 +0100)]
radeon: dri2 don't forget to free buffer

15 years agor300: release bo from pixmap
Jerome Glisse [Thu, 13 Nov 2008 19:04:50 +0000 (20:04 +0100)]
r300: release bo from pixmap

15 years agor300: convert to new relocations format (see libdrm-radeon)
Jerome Glisse [Wed, 12 Nov 2008 16:00:28 +0000 (17:00 +0100)]
r300: convert to new relocations format (see libdrm-radeon)

15 years agor300: SetTex extension support
Jerome Glisse [Wed, 12 Nov 2008 13:02:57 +0000 (14:02 +0100)]
r300: SetTex extension support

15 years agor300: cs + DRI2 support
Jerome Glisse [Sun, 9 Nov 2008 18:00:28 +0000 (19:00 +0100)]
r300: cs + DRI2 support

If DRI2 is enabled then switch cmd assembly to directly build
hw packet.

15 years agor300: bo and cs abstraction.
Jerome Glisse [Wed, 5 Nov 2008 13:31:46 +0000 (14:31 +0100)]
r300: bo and cs abstraction.

This abstract memory management and command stream building so we
can use different backend either legacy one which use old pathway
or a new one like with a new memory manager. This works was done by :

Nicolai Haehnle
Dave Airlie
Jerome Glisse

15 years agomesa: no longer need Writemask field in GLSL IR nodes
Brian Paul [Fri, 14 Nov 2008 01:18:07 +0000 (18:18 -0700)]
mesa: no longer need Writemask field in GLSL IR nodes

The Swizzle and Size fields carry all the info we need now.

15 years agomesa: revamp GLSL instruction emit code
Brian Paul [Fri, 14 Nov 2008 00:02:11 +0000 (17:02 -0700)]
mesa: revamp GLSL instruction emit code

This is a step toward better array handling code.  In particular, when more
than one operand of an instruction uses indirect addressing, we'll need some
temporary instructions and registers.  By converting IR storage to instruction
operands all in one place (emit_instruction()) we can be smarter about this.

Also, somewhat better handling of dst register swizzle/writemask handling.
This results in tighter writemasks on some instructions which is good for
SOA execution.

And, cleaner instruction commenting with inst_comment().

Next: remove some more dead code and additional clean-ups...

15 years agomesa: make writemask_string() non-static
Brian Paul [Thu, 13 Nov 2008 23:37:52 +0000 (16:37 -0700)]
mesa: make writemask_string() non-static

15 years agomesa: remove some do-nothing GLSL code
Brian Paul [Thu, 13 Nov 2008 23:31:27 +0000 (16:31 -0700)]
mesa: remove some do-nothing GLSL code

15 years agomesa: fix accidental regression in GLSL built-in texture matrix lookup
Brian Paul [Thu, 13 Nov 2008 15:47:36 +0000 (08:47 -0700)]
mesa: fix accidental regression in GLSL built-in texture matrix lookup

Was broken by commit 9aca9a4b72b2a7b378e50bd88f9c3324d07375ec.

15 years agomesa: use the tighter definition of GLSL ftransform() from the gallium branches
Brian Paul [Thu, 13 Nov 2008 15:46:45 +0000 (08:46 -0700)]
mesa: use the tighter definition of GLSL ftransform() from the gallium branches

15 years agomesa: remove unused/obsolete __NormalMatrixTranspose matrix
Brian Paul [Wed, 12 Nov 2008 23:47:03 +0000 (16:47 -0700)]
mesa: remove unused/obsolete __NormalMatrixTranspose matrix

15 years agomesa: fix bug in GLSL built-in matrix state lookup
Brian Paul [Wed, 12 Nov 2008 23:44:47 +0000 (16:44 -0700)]
mesa: fix bug in GLSL built-in matrix state lookup

15 years agomesa: tweak program register printing for RelAddr case
Brian Paul [Wed, 12 Nov 2008 18:12:10 +0000 (11:12 -0700)]
mesa: tweak program register printing for RelAddr case

15 years agomesa: fix generation of fixed function state when no vp exists
Alan Hourihane [Thu, 13 Nov 2008 13:16:03 +0000 (13:16 +0000)]
mesa: fix generation of fixed function state when no vp exists

15 years agoi965: Upload state on primitive switch, don't just prepare it.
Eric Anholt [Wed, 12 Nov 2008 21:37:16 +0000 (13:37 -0800)]
i965: Upload state on primitive switch, don't just prepare it.

This was a regression in 59b2c2adbbece27ccf54e58b598ea29cb3a5aa85 that broke
blender, among other apps.

15 years agoi965: Fix VB refcount leak on aperture overflow.
Eric Anholt [Wed, 12 Nov 2008 21:34:20 +0000 (13:34 -0800)]
i965: Fix VB refcount leak on aperture overflow.

15 years agoAdd glsync demo program from jbarnes for testing vblank synchronization.
Eric Anholt [Tue, 4 Nov 2008 20:34:29 +0000 (12:34 -0800)]
Add glsync demo program from jbarnes for testing vblank synchronization.

15 years agoi965: Fix up VS max_threads for G4X and removing a magic number.
Eric Anholt [Mon, 3 Nov 2008 02:50:59 +0000 (18:50 -0800)]
i965: Fix up VS max_threads for G4X and removing a magic number.

As far as I can read in the docs, VS threads can be 1:1 with the pairs of
VUE handles allocated for them.  Also, G4X can run twice as many threads as
before (though we won't unless the we bump the preferred URB entries for VS).

15 years agoi965: Fix up SF max_threads.
Eric Anholt [Mon, 3 Nov 2008 02:49:33 +0000 (18:49 -0800)]
i965: Fix up SF max_threads.

We were dividing the number of URB entries by two to get number of threads,
which looks suspiciously like a copy'n'paste-o from brw_vs_state.c.  Also, the
maximum number of threads is 24, not 12.

15 years agoi965: Fix up clip min_nr_entries, preferred_nr_entries, and max_threads.
Eric Anholt [Mon, 3 Nov 2008 02:43:10 +0000 (18:43 -0800)]
i965: Fix up clip min_nr_entries, preferred_nr_entries, and max_threads.

The clip thread could potentially deadlock when processing tristrips since
being moved back to dual-thread mode, as the two threads could each have 4 VUEs
referenced and not be able to allocate another one since SF processing
wasn't able to continue (needing 5 entries before it freed 2).
In constrained URB mode, similar deadlock could even have occurred with
polygons (so we cut back max_threads if we can't handle it any primitive type).

15 years agoi965: Update WM maximum threads for G4X.
Eric Anholt [Mon, 3 Nov 2008 02:42:17 +0000 (18:42 -0800)]
i965: Update WM maximum threads for G4X.

15 years agoi965: Add a big comment explaining my understanding of URB management.
Eric Anholt [Mon, 3 Nov 2008 02:48:25 +0000 (18:48 -0800)]
i965: Add a big comment explaining my understanding of URB management.

It shouldn't offer anything new over what's in the docs (except for G4X notes),
but here it's all in one place.

15 years agoglFlush before CopySubBuffer, fix coordinates and extension name typo.
Kristian Høgsberg [Wed, 12 Nov 2008 20:24:45 +0000 (15:24 -0500)]
glFlush before CopySubBuffer, fix coordinates and extension name typo.

15 years agoglx: fix xcb build
Hanno Böck [Wed, 12 Nov 2008 13:56:42 +0000 (06:56 -0700)]
glx: fix xcb build

15 years agomesa: fix version check in dinoshade.c
Brian Paul [Tue, 11 Nov 2008 21:33:11 +0000 (14:33 -0700)]
mesa: fix version check in dinoshade.c

15 years agomesa: allow relative indexing into all register files and indirect dst register indexing
Brian Paul [Tue, 11 Nov 2008 17:47:10 +0000 (10:47 -0700)]
mesa: allow relative indexing into all register files and indirect dst register indexing

15 years agoDon't mess with emacs tab width.
Kristian Høgsberg [Tue, 11 Nov 2008 18:39:52 +0000 (13:39 -0500)]
Don't mess with emacs tab width.

15 years agointel: reset cliprect_mode to IGNORE_CLIPRECTS.
Xiang, Haihao [Tue, 11 Nov 2008 05:42:13 +0000 (13:42 +0800)]
intel: reset cliprect_mode to IGNORE_CLIPRECTS.

This ensures all batchbuffers have a same cliprect mode after calling
_intel_batchbuffer_flush even if there aren't invalid commands in the
current batch buffer. (fix bug#18362).

15 years agomesa: restore the negate flag of dots in build_lighting.
Xiang, Haihao [Tue, 11 Nov 2008 05:36:32 +0000 (13:36 +0800)]
mesa: restore the negate flag of dots in build_lighting.

Dots is re-used if more than one light is enabled. Previously
the negate flag of dots may affect next light.

15 years agomesa: update new state for RasterPos like other operations.
Xiang, Haihao [Tue, 11 Nov 2008 05:16:20 +0000 (13:16 +0800)]
mesa: update new state for RasterPos like other operations.

This fixes a lighting issue when drawing a bitmap.

15 years agomesa: new _mesa_is_pow_two() function
Brian [Tue, 11 Nov 2008 03:15:28 +0000 (20:15 -0700)]
mesa: new _mesa_is_pow_two() function

15 years agomesa: restore glapi/ prefix on #include
Brian Paul [Mon, 10 Nov 2008 23:38:47 +0000 (16:38 -0700)]
mesa: restore glapi/ prefix on #include

15 years agomesa: fix some misc breakage caused by editing auto-generated files rather than the...
Brian Paul [Mon, 10 Nov 2008 21:42:02 +0000 (14:42 -0700)]
mesa: fix some misc breakage caused by editing auto-generated files rather than the python generators

Specifically:
  #include "glapitable.h" in src/mesa/main/glapi/dispatch.h
  Call _mesa_bsearch() in src/mesa/main/enums.c.

15 years agoGLX: fix out-of-bounds memory issue in indirect glAreTexturesResident()
Brian Paul [Mon, 10 Nov 2008 21:27:42 +0000 (14:27 -0700)]
GLX: fix out-of-bounds memory issue in indirect glAreTexturesResident()

See bug 18445.
When getting array results, __glXReadReply() always reads a multiple of
four bytes.  This can cause writing to invalid memory when 'n' is not a
multiple of four.

Special-case the glAreTexturesResident() functions now.
To fix the bug, we use a temporary buffer that's a multiple of four bytes
in length.

NOTE: this commit also reverts part of commit 919ec22ecf72aa163e1b97d8c7381002131ed32c
(glx/x11: Added some #ifdef GLX_DIRECT_RENDERING protection) which
directly edited the indirect.c file rather than the python generator!
I'm not repairing that issue at this time.