mesa.git
15 years agor300-gallium: r500-fs: Add SWZ.
Corbin Simpson [Wed, 11 Mar 2009 18:23:15 +0000 (11:23 -0700)]
r300-gallium: r500-fs: Add SWZ.

15 years agor300-gallium: Fix CS count in fb state emit.
Corbin Simpson [Wed, 11 Mar 2009 10:24:19 +0000 (03:24 -0700)]
r300-gallium: Fix CS count in fb state emit.

15 years agor300-gallium: Start swizzles.
Corbin Simpson [Wed, 11 Mar 2009 03:43:11 +0000 (20:43 -0700)]
r300-gallium: Start swizzles.

15 years agor300-gallium: Begin R500 fragment shader assembler.
Corbin Simpson [Tue, 10 Mar 2009 22:40:41 +0000 (15:40 -0700)]
r300-gallium: Begin R500 fragment shader assembler.

I love it so much. I also hate it a lot.

15 years agoi965: fix lock-ups when GLSL program wrote to gl_FragDepth
Brian Paul [Wed, 11 Mar 2009 19:06:13 +0000 (13:06 -0600)]
i965: fix lock-ups when GLSL program wrote to gl_FragDepth

It seems the code that set up the FB_WRITE message was incomplete in this
case.  The number of payload registers was wrong and that caused a hang.

It would be good to have a second set of eyes take a look at this...

15 years agotrace: Fixup trace a bit
Jakob Bornecrantz [Wed, 11 Mar 2009 13:27:54 +0000 (14:27 +0100)]
trace: Fixup trace a bit

15 years agoxdemos: On termination with `esc` close the contexts correctly.
Alan Hourihane [Wed, 11 Mar 2009 13:33:49 +0000 (13:33 +0000)]
xdemos: On termination with `esc` close the contexts correctly.

15 years agotgsi: Implement RFL, SFL, STR, X2D opcodes.
Michal Krol [Wed, 11 Mar 2009 12:49:43 +0000 (13:49 +0100)]
tgsi: Implement RFL, SFL, STR, X2D opcodes.

15 years agotgsi: Begin documenting NV_fragment_program instruction set operations.
Michal Krol [Wed, 11 Mar 2009 11:52:20 +0000 (12:52 +0100)]
tgsi: Begin documenting NV_fragment_program instruction set operations.

15 years agotgsi: Implement RCC opcode.
Michal Krol [Wed, 11 Mar 2009 11:10:16 +0000 (12:10 +0100)]
tgsi: Implement RCC opcode.

15 years agotgsi: Document NV_vertex_program1_1 instruction set operations.
Michal Krol [Wed, 11 Mar 2009 10:55:27 +0000 (11:55 +0100)]
tgsi: Document NV_vertex_program1_1 instruction set operations.

15 years agoi965: more code clean-ups, comments
Brian Paul [Tue, 10 Mar 2009 22:17:28 +0000 (16:17 -0600)]
i965: more code clean-ups, comments

15 years agoi965: minor code clean-ups, comments
Brian Paul [Tue, 10 Mar 2009 21:54:28 +0000 (15:54 -0600)]
i965: minor code clean-ups, comments

15 years agoi965: use new cast wrappers
Brian Paul [Tue, 10 Mar 2009 21:53:33 +0000 (15:53 -0600)]
i965: use new cast wrappers

15 years agoi965: added cast wrappers, comments
Brian Paul [Tue, 10 Mar 2009 21:52:28 +0000 (15:52 -0600)]
i965: added cast wrappers, comments

15 years agoi965: asst. code clean-ups, comments
Brian Paul [Tue, 10 Mar 2009 21:43:46 +0000 (15:43 -0600)]
i965: asst. code clean-ups, comments

15 years agoi965: fix typos in comments
Brian Paul [Tue, 10 Mar 2009 21:34:07 +0000 (15:34 -0600)]
i965: fix typos in comments

15 years agoglsl: remove _slang_attach_storage() function
Brian Paul [Wed, 11 Mar 2009 00:15:05 +0000 (18:15 -0600)]
glsl: remove _slang_attach_storage() function

This was used to handle both variable declarations and references to variables.
Instead, just do storage allocation and assignment for declarations and
references, respectively.

This is a step toward better var/uniform allocation (only allocate storage
for vars/uniforms that are actually referenced by the code).

15 years agoglsl: some clean-ups, remove old assertions, add new assertions
Brian Paul [Tue, 10 Mar 2009 23:23:36 +0000 (17:23 -0600)]
glsl: some clean-ups, remove old assertions, add new assertions

15 years agoglsl: remove stray/unneeded totalSize assignment
Brian Paul [Tue, 10 Mar 2009 23:09:52 +0000 (17:09 -0600)]
glsl: remove stray/unneeded totalSize assignment

15 years agomesa: fix dumb sizeof() vs. strlen() mix-up
Brian Paul [Tue, 10 Mar 2009 16:16:37 +0000 (10:16 -0600)]
mesa: fix dumb sizeof() vs. strlen() mix-up

15 years agoglsl: fix typo: s/vec4_tex1d_proj/vec4_tex_1d_proj/
Brian Paul [Tue, 10 Mar 2009 15:04:28 +0000 (09:04 -0600)]
glsl: fix typo: s/vec4_tex1d_proj/vec4_tex_1d_proj/

This regression came from commit c0b59420eec5ffdf22a5919d38851c3620b97c09.

15 years agoprogs/tests: compile with SCons and glew
Keith Whitwell [Tue, 10 Mar 2009 13:11:23 +0000 (13:11 +0000)]
progs/tests: compile with SCons and glew

Also get mingw cross-compilation of these tests working

15 years agotrivial: add a logic op test
Keith Whitwell [Tue, 10 Mar 2009 11:39:41 +0000 (11:39 +0000)]
trivial: add a logic op test

15 years agovpglsl: add simple mov.glsl
Keith Whitwell [Mon, 9 Mar 2009 19:34:13 +0000 (19:34 +0000)]
vpglsl: add simple mov.glsl

15 years agotgsi: Untabify.
Michal Krol [Tue, 10 Mar 2009 09:24:54 +0000 (10:24 +0100)]
tgsi: Untabify.

15 years agotgsi: Implement CLAMP opcode.
Michal Krol [Tue, 10 Mar 2009 09:22:34 +0000 (10:22 +0100)]
tgsi: Implement CLAMP opcode.

15 years agotgsi: Consider INDEX, NEGATE, MULTIPLYMATRIX opcodes for removal.
Michal Krol [Tue, 10 Mar 2009 09:15:29 +0000 (10:15 +0100)]
tgsi: Consider INDEX, NEGATE, MULTIPLYMATRIX opcodes for removal.

15 years agotgsi: ARL and FLOOR opcodes have the same implementation.
Michal Krol [Tue, 10 Mar 2009 09:12:47 +0000 (10:12 +0100)]
tgsi: ARL and FLOOR opcodes have the same implementation.

15 years agotgsi: ARL is a vector instruction.
Michal Krol [Tue, 10 Mar 2009 09:08:20 +0000 (10:08 +0100)]
tgsi: ARL is a vector instruction.

15 years agotgsi: Note that LOG and EXP are approximations.
Michal Krol [Tue, 10 Mar 2009 09:06:19 +0000 (10:06 +0100)]
tgsi: Note that LOG and EXP are approximations.

15 years agotgsi: Document EXT_vertex_shader instruction set operations.
Michal Krol [Tue, 10 Mar 2009 09:04:29 +0000 (10:04 +0100)]
tgsi: Document EXT_vertex_shader instruction set operations.

15 years agoradeon-gallium: Unbreak non-RADEON_SOFTPIPE.
Corbin Simpson [Tue, 10 Mar 2009 09:08:59 +0000 (02:08 -0700)]
radeon-gallium: Unbreak non-RADEON_SOFTPIPE.

Hehe, sleep may be necessary now.

15 years agor300-gallium: Initial, broken, query setup.
Corbin Simpson [Tue, 10 Mar 2009 08:54:24 +0000 (01:54 -0700)]
r300-gallium: Initial, broken, query setup.

Not going to bother unbreaking it here until it's unbroken elsewhere.

15 years agoradeon-gallium: Unbreak RADEON_SOFTPIPE.
Corbin Simpson [Tue, 10 Mar 2009 08:52:02 +0000 (01:52 -0700)]
radeon-gallium: Unbreak RADEON_SOFTPIPE.

And there was much rejoicing.

15 years agor300-gallium: Unbreak fallback in surface_fill.
Corbin Simpson [Tue, 10 Mar 2009 07:55:26 +0000 (00:55 -0700)]
r300-gallium: Unbreak fallback in surface_fill.

15 years agor300-gallium: Fix a handful of compiler warnings.
Corbin Simpson [Tue, 10 Mar 2009 07:14:56 +0000 (00:14 -0700)]
r300-gallium: Fix a handful of compiler warnings.

Missing INLINE, missing declarations, extraneous definitions. The usual.

15 years agor300-gallium: First stab at texture support.
Corbin Simpson [Tue, 10 Mar 2009 07:27:13 +0000 (00:27 -0700)]
r300-gallium: First stab at texture support.

15 years agor300-gallium: Moar fixes in the register file.
Corbin Simpson [Tue, 10 Mar 2009 07:10:24 +0000 (00:10 -0700)]
r300-gallium: Moar fixes in the register file.

Sorry, but it's confusing when format0 in r300_reg != format0 in the docs.

15 years agoxmesa: set back-buffer's drawable field
Brian Paul [Mon, 9 Mar 2009 20:33:19 +0000 (14:33 -0600)]
xmesa: set back-buffer's drawable field

Fixes back-buffer rendering when MESA_BACK_BUFFER=pixmap

15 years agovpglsl: build with scons and glew
Keith Whitwell [Mon, 9 Mar 2009 17:10:12 +0000 (17:10 +0000)]
vpglsl: build with scons and glew

15 years agodemos: in progs/demos/cubemap.c press c/f to cycle through clamp/filter modes
Brian Paul [Mon, 9 Mar 2009 17:49:46 +0000 (11:49 -0600)]
demos: in progs/demos/cubemap.c press c/f to cycle through clamp/filter modes

Also generate a mipmap for the default checker images.

15 years agoi965: fix cube map lock-up / corruption
Brian Paul [Mon, 9 Mar 2009 17:48:39 +0000 (11:48 -0600)]
i965: fix cube map lock-up / corruption

If we're using anything but GL_NEAREST sampling of a cube map, we need to
use the BRW_TEXCOORDMODE_CUBE texcoord wrap mode.  Before this, the GPU
would either lock up or subsequent texture filtering would be corrupted.

15 years agoscons: Also link in additional LLVM components.
Michel Dänzer [Mon, 9 Mar 2009 16:46:49 +0000 (17:46 +0100)]
scons: Also link in additional LLVM components.

They don't seem necessary here, but they shouldn't hurt either...

15 years agolinux-llvm config: Linking with required llvm libs
Kamalneet Singh [Mon, 9 Mar 2009 10:35:44 +0000 (16:05 +0530)]
linux-llvm config: Linking with required llvm libs

15 years agoscons: Also define USE_XSHM for the glx/xlib state tracker build.
Michel Dänzer [Mon, 9 Mar 2009 16:39:14 +0000 (17:39 +0100)]
scons: Also define USE_XSHM for the glx/xlib state tracker build.

Fixes an inconsisten definition of struct xmesa_buffer between there and
winsys/xlib, resulting in a crash in XPutImage.

15 years agost: silence warning
Brian Paul [Mon, 9 Mar 2009 15:39:21 +0000 (09:39 -0600)]
st: silence warning

15 years agost: remove unused DrawPixels code
Brian Paul [Mon, 9 Mar 2009 15:38:43 +0000 (09:38 -0600)]
st: remove unused DrawPixels code

15 years agost: use pointer_to_offset() cast wrapper to convert pointers to uint
Brian Paul [Mon, 9 Mar 2009 15:33:46 +0000 (09:33 -0600)]
st: use pointer_to_offset() cast wrapper to convert pointers to uint

Silences warnings with 64-bit builds.  See comments for details.

15 years agomesa: reorder register file enums
Brian Paul [Sun, 8 Mar 2009 18:07:41 +0000 (12:07 -0600)]
mesa: reorder register file enums

15 years agotrivial: add tri-stipple to SConscript
Keith Whitwell [Mon, 9 Mar 2009 15:00:31 +0000 (15:00 +0000)]
trivial: add tri-stipple to SConscript

15 years agost: also check for a8 texture support in bitmap code
Keith Whitwell [Fri, 6 Mar 2009 21:17:59 +0000 (21:17 +0000)]
st: also check for a8 texture support in bitmap code

15 years agofix typo in fragment pipe alu define, should fix dot3_rgb tex combine
Roland Scheidegger [Mon, 9 Mar 2009 14:53:41 +0000 (15:53 +0100)]
fix typo in fragment pipe alu define, should fix dot3_rgb tex combine

15 years agovbo: yet tighter still usage of FLUSH_NEED_CURRENT
Keith Whitwell [Mon, 9 Mar 2009 14:40:34 +0000 (14:40 +0000)]
vbo: yet tighter still usage of FLUSH_NEED_CURRENT

Previous change broke redbook/polys and probably others.  I'm fairly
sure that drivers like r300 don't need to touch
ctx->Driver.NeedVertices, but this code is incredibly fragile and I'm
not confident about removing it from there.  Hopefully this gets
things working again.

15 years agofp: enable a second texture unit and add a kil test for it
Keith Whitwell [Mon, 9 Mar 2009 14:08:35 +0000 (14:08 +0000)]
fp: enable a second texture unit and add a kil test for it

15 years agoFix up another instance of _mesa_unreference_framebuffer().
Michel Dänzer [Mon, 9 Mar 2009 12:27:54 +0000 (13:27 +0100)]
Fix up another instance of _mesa_unreference_framebuffer().

15 years agovbo: stricter checks on Driver.NeedFlush
Keith Whitwell [Mon, 9 Mar 2009 12:17:28 +0000 (12:17 +0000)]
vbo: stricter checks on Driver.NeedFlush

This variable is being used in the r300 driver to trigger a flush under
circumstances unrelated to the use in the vbo module.  Tighten up the
checks in vbo so as to avoid conflict with r300.

Reported by Maciej Cencora <m.cencora@gmail.com>

15 years agogallium: Fix p_refcnt.h for C++ compilers.
Michel Dänzer [Mon, 9 Mar 2009 11:58:16 +0000 (12:58 +0100)]
gallium: Fix p_refcnt.h for C++ compilers.

15 years agotgsi: Implement CND, CND0 opcodes.
Michal Krol [Mon, 9 Mar 2009 07:50:01 +0000 (08:50 +0100)]
tgsi: Implement CND, CND0 opcodes.

15 years agotgsi: Remove redundant micro_ge() -- use micro_le().
Michal Krol [Mon, 9 Mar 2009 07:44:28 +0000 (08:44 +0100)]
tgsi: Remove redundant micro_ge() -- use micro_le().

15 years agotgsi: Document ATI_fragment_shader instruction set operations.
Michal Krol [Mon, 9 Mar 2009 07:37:34 +0000 (08:37 +0100)]
tgsi: Document ATI_fragment_shader instruction set operations.

15 years agor300-gallium: Unbreak trivial/point.
Corbin Simpson [Sun, 8 Mar 2009 22:04:10 +0000 (15:04 -0700)]
r300-gallium: Unbreak trivial/point.

Oops, forgot to remove that.

Edit: And trivial/line and trivial/tri.

15 years agotgsi: Document NV_vertex_program instruction set operations.
Michal Krol [Sun, 8 Mar 2009 18:15:47 +0000 (19:15 +0100)]
tgsi: Document NV_vertex_program instruction set operations.

15 years agor300-gallium: Correct vertex format setup, cleanup regs and debugging.
Corbin Simpson [Sat, 7 Mar 2009 21:26:48 +0000 (13:26 -0800)]
r300-gallium: Correct vertex format setup, cleanup regs and debugging.

trivial/point no longer hardlocks.

15 years agor300-gallium: Clean up RS.
Corbin Simpson [Sat, 7 Mar 2009 19:31:36 +0000 (11:31 -0800)]
r300-gallium: Clean up RS.

Wow, there were buggies by the boatload in there.

15 years agor300-gallium: Move a few registers.
Corbin Simpson [Sat, 7 Mar 2009 09:53:42 +0000 (01:53 -0800)]
r300-gallium: Move a few registers.

These shouldn't be written if not on TCL HW.

15 years agomesa: s/int/GLsizeiptr/ to silence warning with 64-bit build
Brian Paul [Sat, 7 Mar 2009 20:30:03 +0000 (13:30 -0700)]
mesa: s/int/GLsizeiptr/ to silence warning with 64-bit build

15 years agogallium: use unsigned long to silence warnings with 64-bit build
Brian Paul [Sat, 7 Mar 2009 20:23:08 +0000 (13:23 -0700)]
gallium: use unsigned long to silence warnings with 64-bit build

15 years agor300: remove assignment to removed StringPos field
Brian Paul [Sat, 7 Mar 2009 20:20:50 +0000 (13:20 -0700)]
r300: remove assignment to removed StringPos field

15 years agomesa: move shared context state functions to new shared.c file
Brian Paul [Sat, 7 Mar 2009 20:14:37 +0000 (13:14 -0700)]
mesa: move shared context state functions to new shared.c file

15 years agovbo: make bind_array_obj() code a little more concise
Brian Paul [Sat, 7 Mar 2009 19:42:34 +0000 (12:42 -0700)]
vbo: make bind_array_obj() code a little more concise

15 years agomesa: use @ to silence some Makefile output
Brian Paul [Sat, 7 Mar 2009 19:36:16 +0000 (12:36 -0700)]
mesa: use @ to silence some Makefile output

15 years agomesa: move glViewport and glDepthRange functions into new viewport.c file
Brian Paul [Sat, 7 Mar 2009 19:33:11 +0000 (12:33 -0700)]
mesa: move glViewport and glDepthRange functions into new viewport.c file

A bit of refactoring with an eye toward ES2 and GL 3.1

15 years agoswrast: remove old comment
Brian Paul [Sat, 7 Mar 2009 19:11:44 +0000 (12:11 -0700)]
swrast: remove old comment

15 years agoswrast: rename s_buffers.c -> s_clear.c
Brian Paul [Sat, 7 Mar 2009 19:09:33 +0000 (12:09 -0700)]
swrast: rename s_buffers.c -> s_clear.c

15 years agomesa: gl_register_file enum typedef
Brian Paul [Sat, 7 Mar 2009 19:02:52 +0000 (12:02 -0700)]
mesa: gl_register_file enum typedef

15 years agomesa: remove GL_MESA_program_debug extension
Brian Paul [Sat, 7 Mar 2009 18:53:18 +0000 (11:53 -0700)]
mesa: remove GL_MESA_program_debug extension

This was never fully fleshed out and hasn't been used.

15 years agomesa: silence warning
Brian Paul [Sat, 7 Mar 2009 18:49:45 +0000 (11:49 -0700)]
mesa: silence warning

15 years agomesa: remove last of _mesa_unreference_framebuffer() calls
Brian Paul [Sat, 7 Mar 2009 18:32:18 +0000 (11:32 -0700)]
mesa: remove last of _mesa_unreference_framebuffer() calls

15 years agor300: shut up valgrind
Maciej Cencora [Sat, 7 Mar 2009 13:05:19 +0000 (14:05 +0100)]
r300: shut up valgrind

It complained about uninitialized values

Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
15 years agor300-gallium: Typo in assert.
Corbin Simpson [Sat, 7 Mar 2009 08:55:10 +0000 (00:55 -0800)]
r300-gallium: Typo in assert.

15 years agor300-gallium: Emit vertex size.
Corbin Simpson [Sat, 7 Mar 2009 08:51:11 +0000 (00:51 -0800)]
r300-gallium: Emit vertex size.

Not actually going to make a difference right now, but might as well.

15 years agor300-gallium: A bit more vertex format fixup.
Corbin Simpson [Sat, 7 Mar 2009 08:42:12 +0000 (00:42 -0800)]
r300-gallium: A bit more vertex format fixup.

15 years agonouveau: use bo_handle_ref instead of bo_fake to get front-buffer bo
Ben Skeggs [Sat, 7 Mar 2009 07:28:08 +0000 (17:28 +1000)]
nouveau: use bo_handle_ref instead of bo_fake to get front-buffer bo

This'll work on non-GEM also as the DDX will just pass an offset, and
libdrm_nouveau knows to treat "handle" as a VRAM offset.  When running
on GEM the DDX (it doesn't yet, but will) passes a buffer handle
instead.

15 years agonv50: simplify tesla object selection
Ben Skeggs [Sat, 7 Mar 2009 07:24:19 +0000 (17:24 +1000)]
nv50: simplify tesla object selection

GeForce 8/9 are a bit more consistent than nv40 so far, so this was
overkill before.

15 years agonouveau: fix more breakage from pipe_reference..
Ben Skeggs [Sat, 7 Mar 2009 07:21:15 +0000 (17:21 +1000)]
nouveau: fix more breakage from pipe_reference..

15 years agonouveau: make stateobjs start off with refcount of 1
Ben Skeggs [Sat, 7 Mar 2009 07:14:24 +0000 (17:14 +1000)]
nouveau: make stateobjs start off with refcount of 1

15 years agoFix nv50_screen_create()
Victor Stinner [Fri, 6 Mar 2009 13:03:15 +0000 (14:03 +0100)]
Fix nv50_screen_create()

Setup screen->pipe before using it (screen->constbuf =
screen->pipe.buffer_create(...))

15 years agoFix nouveau_pipe_create() / nouveau_context_init(): raise an error if the screen...
Victor Stinner [Fri, 6 Mar 2009 12:52:19 +0000 (13:52 +0100)]
Fix nouveau_pipe_create() / nouveau_context_init(): raise an error if the screen/pipe creation failed

15 years agoAdd Solaris to OS'es using PROT_EXEC mmap() to get executable heap space
Alan Coopersmith [Wed, 16 Jul 2008 19:47:27 +0000 (12:47 -0700)]
Add Solaris to OS'es using PROT_EXEC mmap() to get executable heap space

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
15 years agor300-gallium: Fix masking on vertex formats.
Corbin Simpson [Sat, 7 Mar 2009 03:07:13 +0000 (19:07 -0800)]
r300-gallium: Fix masking on vertex formats.

Gah, what a simple yet terrible mistake.

15 years agor300-gallium: Remove unknown regs.
Corbin Simpson [Fri, 6 Mar 2009 22:23:20 +0000 (14:23 -0800)]
r300-gallium: Remove unknown regs.

Leftovers from fglrx traces, probably.

15 years agor300-gallium: Actually do framebuffer setup.
Corbin Simpson [Fri, 6 Mar 2009 22:13:21 +0000 (14:13 -0800)]
r300-gallium: Actually do framebuffer setup.

Can't believe this wasn't wired up.

15 years agor300-gallium: Make sure registers are inside BEGIN/END CS.
Corbin Simpson [Fri, 6 Mar 2009 21:31:13 +0000 (13:31 -0800)]
r300-gallium: Make sure registers are inside BEGIN/END CS.

15 years agor300-gallium: Separate out fog block.
Corbin Simpson [Fri, 6 Mar 2009 21:18:12 +0000 (13:18 -0800)]
r300-gallium: Separate out fog block.

We'll never actually use fog block. (I hope.)

15 years agoglsl: call the program optimizer
Brian Paul [Fri, 6 Mar 2009 22:45:01 +0000 (15:45 -0700)]
glsl: call the program optimizer

This still needs more testing bug glean and Mesa GLSL tests seem OK.

15 years agoi965: check if we run out of GRF/temp registers
Brian Paul [Fri, 6 Mar 2009 23:00:25 +0000 (16:00 -0700)]
i965: check if we run out of GRF/temp registers

Before this change we would up emitting instructions with invalid register
numbers.  This typically (but not always) hung the GPU.  For now, just
prevent emitting bad instructions to avoid hangs.  Still need to do some
kind of proper error recovery.

15 years agomesa: added _mesa_read_shader() function to read shaders from files
Brian Paul [Fri, 6 Mar 2009 22:55:33 +0000 (15:55 -0700)]
mesa: added _mesa_read_shader() function to read shaders from files

Useful for debugging to override an application's shader.

15 years agoi965: bump up BRW_EU_MAX_INSN
Brian Paul [Fri, 6 Mar 2009 22:39:14 +0000 (15:39 -0700)]
i965: bump up BRW_EU_MAX_INSN

This is the size of the intermediate instruction buffer.

15 years agomesa: add new program optimizer code
Brian Paul [Fri, 6 Mar 2009 23:18:22 +0000 (16:18 -0700)]
mesa: add new program optimizer code

This is pretty simplistic for now, but helps with certain shaders.