michal [Fri, 26 Oct 2007 16:15:30 +0000 (17:15 +0100)]
Add sse2_program to draw_vertex_shader.
michal [Fri, 26 Oct 2007 16:14:29 +0000 (17:14 +0100)]
Silence compiler warnings.
michal [Fri, 26 Oct 2007 16:12:25 +0000 (17:12 +0100)]
Remove llvm dependencies.
Brian [Sat, 27 Oct 2007 15:43:28 +0000 (09:43 -0600)]
New comments, replace //-style with /* */
Brian [Sat, 27 Oct 2007 15:38:41 +0000 (09:38 -0600)]
indentation fixes
Brian [Sat, 27 Oct 2007 15:37:40 +0000 (09:37 -0600)]
s/GLbitfield/uint/
Brian [Sat, 27 Oct 2007 15:36:43 +0000 (09:36 -0600)]
remove #define MESA stuff
Brian [Sat, 27 Oct 2007 15:35:51 +0000 (09:35 -0600)]
s/256/TGSI_EXEC_NUM_IMMEDIATES/
Brian [Sat, 27 Oct 2007 15:33:50 +0000 (09:33 -0600)]
indentation fixes
Brian [Sat, 27 Oct 2007 15:32:50 +0000 (09:32 -0600)]
Comments about texture instructions and the src regs
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.
Brian [Sat, 27 Oct 2007 15:04:43 +0000 (09:04 -0600)]
Obsolete
Brian [Sat, 27 Oct 2007 15:03:15 +0000 (09:03 -0600)]
Move mesa_to_tgsi.[ch] to state_tracker
Brian [Sat, 27 Oct 2007 15:02:40 +0000 (09:02 -0600)]
Move mesa_to_tgsi.[ch] into state tracker.
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.
Brian [Sat, 27 Oct 2007 01:29:38 +0000 (19:29 -0600)]
turn off debug output
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.
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.
Brian [Fri, 26 Oct 2007 19:02:40 +0000 (13:02 -0600)]
convert OPCODE_END -> TGSI_OPCODE_RET
Brian [Fri, 26 Oct 2007 18:24:28 +0000 (12:24 -0600)]
if we hit RET w/ empty call stack, halt
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.
Zack Rusin [Fri, 26 Oct 2007 18:52:10 +0000 (14:52 -0400)]
Get basic function calls working in the shaders.
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.
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.
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.
José Fonseca [Fri, 26 Oct 2007 12:31:04 +0000 (13:31 +0100)]
Actually move region_alloc() and region_release() to intel_winsys.
Brian [Fri, 26 Oct 2007 02:31:13 +0000 (20:31 -0600)]
clean-up, simplify some tile code, more to come
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.
Brian [Fri, 26 Oct 2007 01:19:51 +0000 (19:19 -0600)]
silence warning
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.
Brian [Fri, 26 Oct 2007 00:30:06 +0000 (18:30 -0600)]
tex comments
Brian [Wed, 24 Oct 2007 23:01:23 +0000 (17:01 -0600)]
added some comments
Brian [Wed, 24 Oct 2007 22:58:47 +0000 (16:58 -0600)]
update TILE_TOP/BOTTOM_* values to match softpipe
Brian [Wed, 24 Oct 2007 22:58:00 +0000 (16:58 -0600)]
s/GLfloat/float/, s/GLint/int/, etc
José Fonseca [Thu, 11 Oct 2007 23:23:17 +0000 (00:23 +0100)]
Briefly describe the buffer management interface.
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.
José Fonseca [Fri, 19 Oct 2007 10:37:45 +0000 (11:37 +0100)]
Ignore generated files.
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...
Zack Rusin [Thu, 25 Oct 2007 15:47:25 +0000 (11:47 -0400)]
Implement loops
Zack Rusin [Thu, 25 Oct 2007 13:03:53 +0000 (09:03 -0400)]
Fix nested swizzles. Actually fetch the destination contents
instead of input.
Zack Rusin [Thu, 25 Oct 2007 11:52:59 +0000 (07:52 -0400)]
Fix nested conditionals
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.
Zack Rusin [Thu, 25 Oct 2007 11:18:01 +0000 (07:18 -0400)]
Implement else ops.
keithw [Thu, 25 Oct 2007 09:18:52 +0000 (10:18 +0100)]
set vcache.referenced bit always
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.
Zack Rusin [Wed, 24 Oct 2007 23:20:19 +0000 (19:20 -0400)]
Simplify branch handling. Prepare for proper decleration extraction.
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.
Brian [Wed, 24 Oct 2007 20:35:40 +0000 (14:35 -0600)]
Revert "Undo indexOffset change (I think, git???)"
This reverts commit
11ce6244a79106c592364b30434b6ddade3fd6bb.
Brian [Wed, 24 Oct 2007 20:34:40 +0000 (14:34 -0600)]
Undo indexOffset change (I think, git???)
Brian [Wed, 24 Oct 2007 18:43:02 +0000 (12:43 -0600)]
add to git
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.
Brian [Wed, 24 Oct 2007 18:31:29 +0000 (12:31 -0600)]
print CAL label
Brian [Wed, 24 Oct 2007 18:31:14 +0000 (12:31 -0600)]
fix bug in RET code
Brian [Wed, 24 Oct 2007 18:30:49 +0000 (12:30 -0600)]
better debug output
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)
Brian [Tue, 23 Oct 2007 23:45:55 +0000 (17:45 -0600)]
flush pipe in draw_stencil_pixels()
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)
Brian [Tue, 23 Oct 2007 23:16:38 +0000 (17:16 -0600)]
added a pipe->flush() call in xmesa_clear()
Zack Rusin [Wed, 24 Oct 2007 16:48:06 +0000 (12:48 -0400)]
Add copyright headers and do some cleanups.
Zack Rusin [Wed, 24 Oct 2007 15:41:28 +0000 (11:41 -0400)]
Remove the silly function and remove the bogus comment.
Zack Rusin [Wed, 24 Oct 2007 12:34:01 +0000 (08:34 -0400)]
Cleanup some code.
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.
Zack Rusin [Tue, 23 Oct 2007 11:11:39 +0000 (07:11 -0400)]
Implement cross product and abs opcode
Zack Rusin [Mon, 22 Oct 2007 18:01:52 +0000 (14:01 -0400)]
Implement extended swizzling.
Zack Rusin [Mon, 22 Oct 2007 15:27:34 +0000 (11:27 -0400)]
Implement SGE and SLT
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.
Zack Rusin [Mon, 22 Oct 2007 12:46:28 +0000 (08:46 -0400)]
Align the load/stores. Reduce the amount of debugging output.
Zack Rusin [Sun, 21 Oct 2007 15:16:01 +0000 (11:16 -0400)]
Cleanup some of the debugging output code
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.
Zack Rusin [Sat, 20 Oct 2007 20:55:23 +0000 (16:55 -0400)]
Muchos fixos. gears kinda works. and cases don't crash.
glorious
Zack Rusin [Thu, 18 Oct 2007 12:12:48 +0000 (08:12 -0400)]
implement min and max
Zack Rusin [Thu, 18 Oct 2007 11:20:27 +0000 (07:20 -0400)]
Fix some warnings and implement lg2
Zack Rusin [Thu, 18 Oct 2007 11:03:37 +0000 (07:03 -0400)]
Implement frc and floor
Zack Rusin [Thu, 18 Oct 2007 09:51:01 +0000 (05:51 -0400)]
Implement ex2 opcode
Zack Rusin [Wed, 17 Oct 2007 17:46:00 +0000 (13:46 -0400)]
Implement dst opcode
Zack Rusin [Wed, 17 Oct 2007 17:38:53 +0000 (13:38 -0400)]
Implement dph opcode
Zack Rusin [Wed, 17 Oct 2007 17:34:25 +0000 (13:34 -0400)]
Implement dot4 opcode
Zack Rusin [Wed, 17 Oct 2007 17:27:25 +0000 (13:27 -0400)]
Implement pow/rcp and sub opcodes
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
Zack Rusin [Wed, 17 Oct 2007 15:28:26 +0000 (11:28 -0400)]
Refactor the tgsi->llvm storage translator
Zack Rusin [Wed, 17 Oct 2007 15:27:46 +0000 (11:27 -0400)]
Implement basic opcode translation and storage translation.
Zack Rusin [Tue, 16 Oct 2007 17:23:43 +0000 (13:23 -0400)]
Draw first triangle. Start on the llvm builder.
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.
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.
Zack Rusin [Mon, 15 Oct 2007 12:12:22 +0000 (08:12 -0400)]
Generate the base shader.
Zack Rusin [Fri, 12 Oct 2007 17:57:53 +0000 (13:57 -0400)]
Implement the conversion and do the initial execution pass.
Zack Rusin [Wed, 10 Oct 2007 11:21:02 +0000 (07:21 -0400)]
Stub out some conversion.
Zack Rusin [Mon, 8 Oct 2007 14:24:35 +0000 (10:24 -0400)]
Initial stab at LLVM integration.
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().
Brian [Tue, 23 Oct 2007 21:02:02 +0000 (15:02 -0600)]
added comment
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.
Brian [Tue, 23 Oct 2007 17:38:17 +0000 (11:38 -0600)]
adjust coords in wide_line() to be conformant
Brian [Tue, 23 Oct 2007 16:54:50 +0000 (10:54 -0600)]
properly init dst reg's CondMask/Swizzle fields
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
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.
Brian [Mon, 22 Oct 2007 23:50:00 +0000 (17:50 -0600)]
don't apply ColorMask to main gc
Brian [Mon, 22 Oct 2007 23:20:56 +0000 (17:20 -0600)]
fix masking bug, memory leak
Brian [Mon, 22 Oct 2007 23:20:08 +0000 (17:20 -0600)]
don't use GL types for get/put_tile() params
Brian [Mon, 22 Oct 2007 18:19:54 +0000 (12:19 -0600)]
new flag to control psize (from vertex shader or fixed size)
Brian [Mon, 22 Oct 2007 18:10:30 +0000 (12:10 -0600)]
add support for sprite texcoord modes