mesa.git
17 years agoRemove llvm and sse2 dependencies.
michal [Fri, 26 Oct 2007 16:19:20 +0000 (17:19 +0100)]
Remove llvm and sse2 dependencies.

17 years agoMove format definitions from p_defines.h to p_format.h.
michal [Fri, 26 Oct 2007 16:17:52 +0000 (17:17 +0100)]
Move format definitions from p_defines.h to p_format.h.

PIPE_FORMAT is not an ordinary enum -- it encodes its
format description in the value that defines it.

17 years agoAdd sse2_program to draw_vertex_shader.
michal [Fri, 26 Oct 2007 16:15:30 +0000 (17:15 +0100)]
Add sse2_program to draw_vertex_shader.

17 years agoSilence compiler warnings.
michal [Fri, 26 Oct 2007 16:14:29 +0000 (17:14 +0100)]
Silence compiler warnings.

17 years agoRemove llvm dependencies.
michal [Fri, 26 Oct 2007 16:12:25 +0000 (17:12 +0100)]
Remove llvm dependencies.

17 years agoNew comments, replace //-style with /* */
Brian [Sat, 27 Oct 2007 15:43:28 +0000 (09:43 -0600)]
New comments, replace //-style with /* */

17 years agoindentation fixes
Brian [Sat, 27 Oct 2007 15:38:41 +0000 (09:38 -0600)]
indentation fixes

17 years agos/GLbitfield/uint/
Brian [Sat, 27 Oct 2007 15:37:40 +0000 (09:37 -0600)]
s/GLbitfield/uint/

17 years agoremove #define MESA stuff
Brian [Sat, 27 Oct 2007 15:36:43 +0000 (09:36 -0600)]
remove #define MESA stuff

17 years agos/256/TGSI_EXEC_NUM_IMMEDIATES/
Brian [Sat, 27 Oct 2007 15:35:51 +0000 (09:35 -0600)]
s/256/TGSI_EXEC_NUM_IMMEDIATES/

17 years agoindentation fixes
Brian [Sat, 27 Oct 2007 15:33:50 +0000 (09:33 -0600)]
indentation fixes

17 years agoComments about texture instructions and the src regs
Brian [Sat, 27 Oct 2007 15:32:50 +0000 (09:32 -0600)]
Comments about texture instructions and the src regs

17 years agoRemove remnants of softpipe_surface.
Brian [Sat, 27 Oct 2007 15:26:59 +0000 (09:26 -0600)]
Remove remnants of softpipe_surface.

This is the last of the clean-up following the change which moved surface
allocation to the winsys layer.

17 years agoObsolete
Brian [Sat, 27 Oct 2007 15:04:43 +0000 (09:04 -0600)]
Obsolete

17 years agoMove mesa_to_tgsi.[ch] to state_tracker
Brian [Sat, 27 Oct 2007 15:03:15 +0000 (09:03 -0600)]
Move mesa_to_tgsi.[ch] to state_tracker

17 years agoMove mesa_to_tgsi.[ch] into state tracker.
Brian [Sat, 27 Oct 2007 15:02:40 +0000 (09:02 -0600)]
Move mesa_to_tgsi.[ch] into state tracker.

17 years agoFix up handling of immediate values for TGSI shaders.
Brian [Sat, 27 Oct 2007 01:31:35 +0000 (19:31 -0600)]
Fix up handling of immediate values for TGSI shaders.

Still disabled pending LLVM updates.

17 years agoturn off debug output
Brian [Sat, 27 Oct 2007 01:29:38 +0000 (19:29 -0600)]
turn off debug output

17 years agoRe-implement GLSL texture sampler variables.
Brian [Sat, 27 Oct 2007 01:19:09 +0000 (19:19 -0600)]
Re-implement GLSL texture sampler variables.

GLSL sampler variables indicate which texture unit to use for TEX instructions.
Previously, this was baked into the fragment/vertex program and couldn't be
readily changed once set.
Now, SamplerUnits[] array indicates which texture unit is to be used for
each sampler variable.  These values are set with glUniform1i().
This is extra state that must be passed to the fragment/vertex program
executor at runtime.

17 years agoHold a stack of temporaries so that we can redeclare them
Zack Rusin [Fri, 26 Oct 2007 23:12:02 +0000 (19:12 -0400)]
Hold a stack of temporaries so that we can redeclare them
for all defined functions. Fixes crashes in function calls.

17 years agoconvert OPCODE_END -> TGSI_OPCODE_RET
Brian [Fri, 26 Oct 2007 19:02:40 +0000 (13:02 -0600)]
convert OPCODE_END -> TGSI_OPCODE_RET

17 years agoif we hit RET w/ empty call stack, halt
Brian [Fri, 26 Oct 2007 18:24:28 +0000 (12:24 -0600)]
if we hit RET w/ empty call stack, halt

17 years agoInitial support for immediate values in TGSI programs.
Brian [Fri, 26 Oct 2007 18:20:17 +0000 (12:20 -0600)]
Initial support for immediate values in TGSI programs.

These can be evaluated at compile time.
Code disabled pending clarifications of TGSI immediate data structures.

17 years agoGet basic function calls working in the shaders.
Zack Rusin [Fri, 26 Oct 2007 18:52:10 +0000 (14:52 -0400)]
Get basic function calls working in the shaders.

17 years agoFix swizzle fetching in tgsi_util_get_full_src_register_extswizzle. Shorten
Zack Rusin [Fri, 26 Oct 2007 12:20:55 +0000 (08:20 -0400)]
Fix swizzle fetching in tgsi_util_get_full_src_register_extswizzle. Shorten
the swizzle coding in LLVM compilation using it and fix some warnings.

17 years agoMake ret part of the instruction block instead of implicitely
Zack Rusin [Thu, 25 Oct 2007 16:14:07 +0000 (12:14 -0400)]
Make ret part of the instruction block instead of implicitely
closing at the end of parsing.

17 years agosurface_alloc() is now a winsys function.
Brian [Fri, 26 Oct 2007 16:45:42 +0000 (10:45 -0600)]
surface_alloc() is now a winsys function.

This allows surfaces to be allocated without a rendering context.
A few loose ends to resolve, but in working condition.

17 years agoActually move region_alloc() and region_release() to intel_winsys.
José Fonseca [Fri, 26 Oct 2007 12:31:04 +0000 (13:31 +0100)]
Actually move region_alloc() and region_release() to intel_winsys.

17 years agoclean-up, simplify some tile code, more to come
Brian [Fri, 26 Oct 2007 02:31:13 +0000 (20:31 -0600)]
clean-up, simplify some tile code, more to come

17 years agoMove region_alloc() and region_release() to pipe_winsys.
Brian [Fri, 26 Oct 2007 01:27:29 +0000 (19:27 -0600)]
Move region_alloc() and region_release() to pipe_winsys.

This allows regions to be allocated w/out a rendering context.

17 years agosilence warning
Brian [Fri, 26 Oct 2007 01:19:51 +0000 (19:19 -0600)]
silence warning

17 years agoMove the get/put_tile() functions to pipe_context.
Brian [Fri, 26 Oct 2007 00:50:15 +0000 (18:50 -0600)]
Move the get/put_tile() functions to pipe_context.

The _rgba versions are temporary until the state tracker is updated.

17 years agotex comments
Brian [Fri, 26 Oct 2007 00:30:06 +0000 (18:30 -0600)]
tex comments

17 years agoadded some comments
Brian [Wed, 24 Oct 2007 23:01:23 +0000 (17:01 -0600)]
added some comments

17 years agoupdate TILE_TOP/BOTTOM_* values to match softpipe
Brian [Wed, 24 Oct 2007 22:58:47 +0000 (16:58 -0600)]
update TILE_TOP/BOTTOM_* values to match softpipe

17 years agos/GLfloat/float/, s/GLint/int/, etc
Brian [Wed, 24 Oct 2007 22:58:00 +0000 (16:58 -0600)]
s/GLfloat/float/, s/GLint/int/, etc

17 years agoBriefly describe the buffer management interface.
José Fonseca [Thu, 11 Oct 2007 23:23:17 +0000 (00:23 +0100)]
Briefly describe the buffer management interface.

17 years agoExpand pkg-config flags before invoking the compiler.
José Fonseca [Thu, 25 Oct 2007 14:46:40 +0000 (15:46 +0100)]
Expand pkg-config flags before invoking the compiler.

This allows IDEs such as Eclipse to get the correct c-preprocessor flags used
from the build output.

17 years agoIgnore generated files.
José Fonseca [Fri, 19 Oct 2007 10:37:45 +0000 (11:37 +0100)]
Ignore generated files.

17 years agoLLVM requires linking with the C++ compiler.
Michel Dänzer [Thu, 25 Oct 2007 16:24:51 +0000 (18:24 +0200)]
LLVM requires linking with the C++ compiler.

It's basically luck if it works with the C compiler on some platforms...

17 years agoImplement loops
Zack Rusin [Thu, 25 Oct 2007 15:47:25 +0000 (11:47 -0400)]
Implement loops

17 years agoFix nested swizzles. Actually fetch the destination contents
Zack Rusin [Thu, 25 Oct 2007 13:03:53 +0000 (09:03 -0400)]
Fix nested swizzles. Actually fetch the destination contents
instead of input.

17 years agoFix nested conditionals
Zack Rusin [Thu, 25 Oct 2007 11:52:59 +0000 (07:52 -0400)]
Fix nested conditionals

17 years agoTest some functionality of vp using GLSL that pure vp isn't testing.
Zack Rusin [Thu, 25 Oct 2007 11:19:02 +0000 (07:19 -0400)]
Test some functionality of vp using GLSL that pure vp isn't testing.

17 years agoImplement else ops.
Zack Rusin [Thu, 25 Oct 2007 11:18:01 +0000 (07:18 -0400)]
Implement else ops.

17 years agoset vcache.referenced bit always
keithw [Thu, 25 Oct 2007 09:18:52 +0000 (10:18 +0100)]
set vcache.referenced bit always

17 years agoMake branching work :) Simply allow output variables as valid
Zack Rusin [Wed, 24 Oct 2007 23:26:09 +0000 (19:26 -0400)]
Make branching work :) Simply allow output variables as valid
operand inputs when they've been assigned already.

17 years agoSimplify branch handling. Prepare for proper decleration extraction.
Zack Rusin [Wed, 24 Oct 2007 23:20:19 +0000 (19:20 -0400)]
Simplify branch handling. Prepare for proper decleration extraction.

17 years agoFix glDrawElements + VBO rendering when ptr/offset is not zero.
Brian [Wed, 24 Oct 2007 20:40:09 +0000 (14:40 -0600)]
Fix glDrawElements + VBO rendering when ptr/offset is not zero.

When an index VBO is bound, glDrawElement's indices pointer is really an
offset into the element buffer.  Add that offset to the prims[i].start
value before calling pipe->draw_elements().
Fixes vbo.c conform test.

17 years agoRevert "Undo indexOffset change (I think, git???)"
Brian [Wed, 24 Oct 2007 20:35:40 +0000 (14:35 -0600)]
Revert "Undo indexOffset change (I think, git???)"

This reverts commit 11ce6244a79106c592364b30434b6ddade3fd6bb.

17 years agoUndo indexOffset change (I think, git???)
Brian [Wed, 24 Oct 2007 20:34:40 +0000 (14:34 -0600)]
Undo indexOffset change (I think, git???)

17 years agoadd to git
Brian [Wed, 24 Oct 2007 18:43:02 +0000 (12:43 -0600)]
add to git

17 years agoImplement gl_PointCoord attribute for GLSL fragment shaders.
Brian [Wed, 24 Oct 2007 17:37:05 +0000 (11:37 -0600)]
Implement gl_PointCoord attribute for GLSL fragment shaders.

Contains the normalized fragment position within a point sprite.

17 years agoprint CAL label
Brian [Wed, 24 Oct 2007 18:31:29 +0000 (12:31 -0600)]
print CAL label

17 years agofix bug in RET code
Brian [Wed, 24 Oct 2007 18:31:14 +0000 (12:31 -0600)]
fix bug in RET code

17 years agobetter debug output
Brian [Wed, 24 Oct 2007 18:30:49 +0000 (12:30 -0600)]
better debug output

17 years agoa bit more work for optimizing clears in tile cache (not enabled yet)
Brian [Wed, 24 Oct 2007 00:49:19 +0000 (18:49 -0600)]
a bit more work for optimizing clears in tile cache (not enabled yet)

17 years agoflush pipe in draw_stencil_pixels()
Brian [Tue, 23 Oct 2007 23:45:55 +0000 (17:45 -0600)]
flush pipe in draw_stencil_pixels()

17 years agoget_tile() for z16, z32, s8z24 surfaces needs to return 4 floats per pixel (for depth...
Brian [Tue, 23 Oct 2007 23:45:38 +0000 (17:45 -0600)]
get_tile() for z16, z32, s8z24 surfaces needs to return 4 floats per pixel (for depth texture sampling)

17 years agoadded a pipe->flush() call in xmesa_clear()
Brian [Tue, 23 Oct 2007 23:16:38 +0000 (17:16 -0600)]
added a pipe->flush() call in xmesa_clear()

17 years agoAdd copyright headers and do some cleanups.
Zack Rusin [Wed, 24 Oct 2007 16:48:06 +0000 (12:48 -0400)]
Add copyright headers and do some cleanups.

17 years agoRemove the silly function and remove the bogus comment.
Zack Rusin [Wed, 24 Oct 2007 15:41:28 +0000 (11:41 -0400)]
Remove the silly function and remove the bogus comment.

17 years agoCleanup some code.
Zack Rusin [Wed, 24 Oct 2007 12:34:01 +0000 (08:34 -0400)]
Cleanup some code.

17 years agoImplement arl, lerp opcodes and do a first stab at if/endif
Zack Rusin [Wed, 24 Oct 2007 11:49:24 +0000 (07:49 -0400)]
Implement arl, lerp opcodes and do a first stab at if/endif
handling and branching support.

17 years agoImplement cross product and abs opcode
Zack Rusin [Tue, 23 Oct 2007 11:11:39 +0000 (07:11 -0400)]
Implement cross product and abs opcode

17 years agoImplement extended swizzling.
Zack Rusin [Mon, 22 Oct 2007 18:01:52 +0000 (14:01 -0400)]
Implement extended swizzling.

17 years agoImplement SGE and SLT
Zack Rusin [Mon, 22 Oct 2007 15:27:34 +0000 (11:27 -0400)]
Implement SGE and SLT

17 years agoIntroduce linux-llvm target. Remove the llvm code from the default build for now.
Zack Rusin [Mon, 22 Oct 2007 15:00:28 +0000 (11:00 -0400)]
Introduce linux-llvm target. Remove the llvm code from the default build for now.
Cleanup some of the debugging output.

17 years agoAlign the load/stores. Reduce the amount of debugging output.
Zack Rusin [Mon, 22 Oct 2007 12:46:28 +0000 (08:46 -0400)]
Align the load/stores. Reduce the amount of debugging output.

17 years agoCleanup some of the debugging output code
Zack Rusin [Sun, 21 Oct 2007 15:16:01 +0000 (11:16 -0400)]
Cleanup some of the debugging output code

17 years agoMake lit work but in a very lame way - will have to be rewritten.
Zack Rusin [Sat, 20 Oct 2007 20:59:37 +0000 (16:59 -0400)]
Make lit work but in a very lame way - will have to be rewritten.

17 years agoMuchos fixos. gears kinda works. and cases don't crash.
Zack Rusin [Sat, 20 Oct 2007 20:55:23 +0000 (16:55 -0400)]
Muchos fixos. gears kinda works. and cases don't crash.
glorious

17 years agoimplement min and max
Zack Rusin [Thu, 18 Oct 2007 12:12:48 +0000 (08:12 -0400)]
implement min and max

17 years agoFix some warnings and implement lg2
Zack Rusin [Thu, 18 Oct 2007 11:20:27 +0000 (07:20 -0400)]
Fix some warnings and implement lg2

17 years agoImplement frc and floor
Zack Rusin [Thu, 18 Oct 2007 11:03:37 +0000 (07:03 -0400)]
Implement frc and floor

17 years agoImplement ex2 opcode
Zack Rusin [Thu, 18 Oct 2007 09:51:01 +0000 (05:51 -0400)]
Implement ex2 opcode

17 years agoImplement dst opcode
Zack Rusin [Wed, 17 Oct 2007 17:46:00 +0000 (13:46 -0400)]
Implement dst opcode

17 years agoImplement dph opcode
Zack Rusin [Wed, 17 Oct 2007 17:38:53 +0000 (13:38 -0400)]
Implement dph opcode

17 years agoImplement dot4 opcode
Zack Rusin [Wed, 17 Oct 2007 17:34:25 +0000 (13:34 -0400)]
Implement dot4 opcode

17 years agoImplement pow/rcp and sub opcodes
Zack Rusin [Wed, 17 Oct 2007 17:27:25 +0000 (13:27 -0400)]
Implement pow/rcp and sub opcodes

17 years agoAdd the "add" opcode and assert one vp if an opcode isn't supported
Zack Rusin [Wed, 17 Oct 2007 16:13:33 +0000 (12:13 -0400)]
Add the "add" opcode and assert one vp if an opcode isn't supported

17 years agoRefactor the tgsi->llvm storage translator
Zack Rusin [Wed, 17 Oct 2007 15:28:26 +0000 (11:28 -0400)]
Refactor the tgsi->llvm storage translator

17 years agoImplement basic opcode translation and storage translation.
Zack Rusin [Wed, 17 Oct 2007 15:27:46 +0000 (11:27 -0400)]
Implement basic opcode translation and storage translation.

17 years agoDraw first triangle. Start on the llvm builder.
Zack Rusin [Tue, 16 Oct 2007 17:23:43 +0000 (13:23 -0400)]
Draw first triangle. Start on the llvm builder.

17 years agoCleanup some of the testing code. Implement first pass at actually
Zack Rusin [Tue, 16 Oct 2007 09:41:06 +0000 (05:41 -0400)]
Cleanup some of the testing code. Implement first pass at actually
running shaders in llvm.

17 years agoExecution engine is a singleton, for now keep it in the pipe.
Zack Rusin [Mon, 15 Oct 2007 13:59:19 +0000 (09:59 -0400)]
Execution engine is a singleton, for now keep it in the pipe.

17 years agoGenerate the base shader.
Zack Rusin [Mon, 15 Oct 2007 12:12:22 +0000 (08:12 -0400)]
Generate the base shader.

17 years agoImplement the conversion and do the initial execution pass.
Zack Rusin [Fri, 12 Oct 2007 17:57:53 +0000 (13:57 -0400)]
Implement the conversion and do the initial execution pass.

17 years agoStub out some conversion.
Zack Rusin [Wed, 10 Oct 2007 11:21:02 +0000 (07:21 -0400)]
Stub out some conversion.

17 years agoInitial stab at LLVM integration.
Zack Rusin [Mon, 8 Oct 2007 14:24:35 +0000 (10:24 -0400)]
Initial stab at LLVM integration.

17 years agoFix vertex cache bug that allows multiple vertices to fall into the same slot.
Brian [Tue, 23 Oct 2007 21:08:54 +0000 (15:08 -0600)]
Fix vertex cache bug that allows multiple vertices to fall into the same slot.

Need to set the slot's bit in draw->vcache.referenced even when there was a
cache hit since flushing the primitive buffer will have cleared the bitfield
but not the cache's vertex indexes.

Fixes a bug found when drawing long triangle fans but could be hit by other
prim types as well.

An alternate fix would be to call draw_vertex_cache_invalidate() from
draw_vertex_cache_unreference().

17 years agoadded comment
Brian [Tue, 23 Oct 2007 21:02:02 +0000 (15:02 -0600)]
added comment

17 years agoIn get_vertex(), slot was computed using & 31. Replace with % VCACHE_SIZE.
Brian [Tue, 23 Oct 2007 18:32:02 +0000 (12:32 -0600)]
In get_vertex(), slot was computed using & 31.  Replace with % VCACHE_SIZE.

Also, assert that index is not too large before indexing array.

17 years agoadjust coords in wide_line() to be conformant
Brian [Tue, 23 Oct 2007 17:38:17 +0000 (11:38 -0600)]
adjust coords in wide_line() to be conformant

17 years agoproperly init dst reg's CondMask/Swizzle fields
Brian [Tue, 23 Oct 2007 16:54:50 +0000 (10:54 -0600)]
properly init dst reg's CondMask/Swizzle fields

17 years agobump up MAX_INSTRUCTIONS and add an assertion to catch emitting too many instructions
Brian [Tue, 23 Oct 2007 16:23:01 +0000 (10:23 -0600)]
bump up MAX_INSTRUCTIONS and add an assertion to catch emitting too many instructions

17 years agoDon't pad renderbuffers to multiple of two pixels anymore.
Brian [Tue, 23 Oct 2007 14:30:36 +0000 (08:30 -0600)]
Don't pad renderbuffers to multiple of two pixels anymore.

This was only needed to avoid out-of-bounds memory accesses with the
2x2 quad_read/write() functions which no longer exist.

17 years agodon't apply ColorMask to main gc
Brian [Mon, 22 Oct 2007 23:50:00 +0000 (17:50 -0600)]
don't apply ColorMask to main gc

17 years agofix masking bug, memory leak
Brian [Mon, 22 Oct 2007 23:20:56 +0000 (17:20 -0600)]
fix masking bug, memory leak

17 years agodon't use GL types for get/put_tile() params
Brian [Mon, 22 Oct 2007 23:20:08 +0000 (17:20 -0600)]
don't use GL types for get/put_tile() params