mesa.git
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

17 years agonew flag to control psize (from vertex shader or fixed size)
Brian [Mon, 22 Oct 2007 18:19:54 +0000 (12:19 -0600)]
new flag to control psize (from vertex shader or fixed size)

17 years agoadd support for sprite texcoord modes
Brian [Mon, 22 Oct 2007 18:10:30 +0000 (12:10 -0600)]
add support for sprite texcoord modes

17 years agoimplement point sprite mode
Brian [Mon, 22 Oct 2007 17:59:26 +0000 (11:59 -0600)]
implement point sprite mode

17 years agoadd point_sprite flag to rasterizer state
Brian [Mon, 22 Oct 2007 17:41:31 +0000 (11:41 -0600)]
add point_sprite flag to rasterizer state

17 years agoremove unused var
Brian [Mon, 22 Oct 2007 17:41:17 +0000 (11:41 -0600)]
remove unused var

17 years agotweak point corners to pass conform test
Brian [Mon, 22 Oct 2007 17:38:40 +0000 (11:38 -0600)]
tweak point corners to pass conform test

17 years agoplug the wide prims code into the pipeline
Brian [Mon, 22 Oct 2007 17:01:34 +0000 (11:01 -0600)]
plug the wide prims code into the pipeline

17 years agoupdate to working condition
Brian [Mon, 22 Oct 2007 17:01:02 +0000 (11:01 -0600)]
update to working condition

17 years agoFinish unifying the surface and texture tile caches.
Brian [Mon, 22 Oct 2007 15:37:26 +0000 (09:37 -0600)]
Finish unifying the surface and texture tile caches.

17 years agopull clip/ module wide and stippled lines/points code
keithw [Fri, 19 Oct 2007 15:41:13 +0000 (16:41 +0100)]
pull clip/ module wide and stippled lines/points code

17 years agoStart implementing cache routines for textures.
Brian [Mon, 22 Oct 2007 00:06:35 +0000 (18:06 -0600)]
Start implementing cache routines for textures.

First step to consolidating surface/texture caching...