Brian [Mon, 29 Oct 2007 22:37:49 +0000 (16:37 -0600)]
Initial version of st_get_pixel_transfer_program().
For generating fragment programs which implement pixel transfer ops.
Brian [Mon, 29 Oct 2007 22:35:59 +0000 (16:35 -0600)]
Added _mesa_combine_programs() for concatenating two programs.
Brian [Mon, 29 Oct 2007 22:00:08 +0000 (16:00 -0600)]
added _mesa_combine_parameter_lists()
Zack Rusin [Tue, 30 Oct 2007 13:00:36 +0000 (09:00 -0400)]
Switch to using LLVM builder.
Instead of creating all the instructions by hand, switching
to using LLVMBuilder.
Zack Rusin [Tue, 30 Oct 2007 11:43:02 +0000 (07:43 -0400)]
Refactor vector extraction.
Zack Rusin [Tue, 30 Oct 2007 11:16:22 +0000 (07:16 -0400)]
Export true C based builtins to a file of its own.
Zack Rusin [Tue, 30 Oct 2007 10:55:08 +0000 (06:55 -0400)]
Rename to better reflect what it's really doing.
Zack Rusin [Tue, 30 Oct 2007 10:33:30 +0000 (06:33 -0400)]
Code cleanups.
Zack Rusin [Mon, 29 Oct 2007 17:42:58 +0000 (13:42 -0400)]
Cleanup constant vector handling a bit.
Zack Rusin [Mon, 29 Oct 2007 17:20:55 +0000 (13:20 -0400)]
Dump only relevant functions when in the debugging output.
Zack Rusin [Mon, 29 Oct 2007 15:42:22 +0000 (11:42 -0400)]
Change the way we handle temporaries in LLVM translation.
TGSI uses TEMP, among others, as a way of passing arguments
from one function to another. Instead of trying to figure out
which temp's a function needs and trying to dynamically adjust its
signature just pass the whole array of temporaries to them.
Zack Rusin [Mon, 29 Oct 2007 14:59:24 +0000 (10:59 -0400)]
Enable immediates in TGSI and work with them in LLVM code.
Enables immediates by default in the TGSI translation code
and adds code handling it in llvm tgsi translation.
Brian [Mon, 29 Oct 2007 21:08:43 +0000 (15:08 -0600)]
minor code simplification
Brian [Mon, 29 Oct 2007 21:07:23 +0000 (15:07 -0600)]
fix memcpy bugs
Brian [Mon, 29 Oct 2007 20:13:57 +0000 (14:13 -0600)]
Rewrite update_program() to use _mesa_get_fixed_func_fragment/vertex_program().
Brian [Mon, 29 Oct 2007 18:25:46 +0000 (12:25 -0600)]
Remove ctx field from texenvprog_cache
Brian [Mon, 29 Oct 2007 18:18:58 +0000 (12:18 -0600)]
refactoring to begin removing dependency on tnl context
Brian [Mon, 29 Oct 2007 17:54:13 +0000 (11:54 -0600)]
simplify getting of current frag prog
Brian [Mon, 29 Oct 2007 17:30:09 +0000 (11:30 -0600)]
Refactor _tnl_UpdateFixedFunctionProgram().
New _mesa_get_fixed_func_vertex_program() function...
Brian [Mon, 29 Oct 2007 17:23:02 +0000 (11:23 -0600)]
Refactor _mesa_UpdateTexEnvProgram()
Will be replaced by _mesa_get_fixed_func_fragment_program().
Michal Krol [Mon, 29 Oct 2007 19:50:10 +0000 (19:50 +0000)]
Rename 'mms-config.' to 'mms.config'.
It looks like Windows does not like filenames ending with a dot,
in effect renaming it to 'mms-config'.
José Fonseca [Mon, 29 Oct 2007 17:36:37 +0000 (17:36 +0000)]
Update intel_is_format_supported.
Michal Krol [Mon, 29 Oct 2007 17:36:20 +0000 (17:36 +0000)]
Add detailed comments.
Michal Krol [Mon, 29 Oct 2007 16:59:57 +0000 (16:59 +0000)]
Make it compile under linux.
Move pipe_region/surface_reference functions to pipe/p_inlines.h.
Remove #include "p_util.h" from pipe/p_context.h.
Michal Krol [Mon, 29 Oct 2007 16:20:45 +0000 (16:20 +0000)]
Make gallium compile in win32.
Use FREE, MALLOC, CALLOC, GETENV wrappers.
Silence compiler warnings.
Add proper copyrights.
Brian [Mon, 29 Oct 2007 16:37:12 +0000 (10:37 -0600)]
remove dead code
Brian [Mon, 29 Oct 2007 16:36:10 +0000 (10:36 -0600)]
check for signed vs. unsigned in st_get_format_info() - fixes accum buffer failure
Brian [Mon, 29 Oct 2007 15:41:53 +0000 (09:41 -0600)]
fix bad fragment shader pointer assignment
Brian [Mon, 29 Oct 2007 15:24:29 +0000 (09:24 -0600)]
simplify code which access the current vertex/fragment shaders
Brian [Mon, 29 Oct 2007 15:23:46 +0000 (09:23 -0600)]
Disable the else clause which assigns the default fragment program to ctx->FragmentProgram._Current
The _Current field should either point to the fragment program which is to be
run (GLSL, ARB_f_p, fixed-func-generated, etc) or be NULL if conventional
fixed-function code is to be used. Matches TNL program code.
Zack Rusin [Mon, 29 Oct 2007 14:01:29 +0000 (10:01 -0400)]
Remove conditionals from the makefiles.
Zack Rusin [Mon, 29 Oct 2007 12:35:08 +0000 (08:35 -0400)]
Remove typedefs from enums.
typedefs are rather evil, remove them and use the enum
keyword explicitely.
Zack Rusin [Mon, 29 Oct 2007 12:27:32 +0000 (08:27 -0400)]
Refactor the LLVM code a bit.
Move the CPU vertex shader execution code to the draw
module, remove traces of LLVM from the state tracker,
abstract execution engine for the purposes of the draw module.
Zack Rusin [Fri, 26 Oct 2007 23:53:53 +0000 (19:53 -0400)]
Make sure the swizzling vector is being recreated for each function. This makes
GLSL bricks work.
Michal Krol [Mon, 29 Oct 2007 13:21:17 +0000 (13:21 +0000)]
Add SSE dump facilities.
Wrap x86_, sse_ and sse2 rtasm calls in emit_ calls.
Those emit_ calls, if required, dump instructions to stdout.
SSE dumping disabled by default.
Michal Krol [Mon, 29 Oct 2007 12:14:54 +0000 (12:14 +0000)]
Code re-org. Add comments.
Michal Krol [Mon, 29 Oct 2007 11:45:42 +0000 (11:45 +0000)]
Implement RET opcode.
Michal Krol [Mon, 29 Oct 2007 11:40:09 +0000 (11:40 +0000)]
Remove TGSI_INTERPOLATE_ATTRIB.
José Fonseca [Mon, 29 Oct 2007 12:29:06 +0000 (12:29 +0000)]
Fix i915simple build.
José Fonseca [Mon, 29 Oct 2007 12:14:52 +0000 (12:14 +0000)]
Reuse hardware vertice representation.
José Fonseca [Mon, 29 Oct 2007 11:51:04 +0000 (11:51 +0000)]
Enable the vertex buffer stage according to the I915_VBUF environment var.
José Fonseca [Mon, 29 Oct 2007 11:49:59 +0000 (11:49 +0000)]
Get vertex buffer stage in a minimally working state.
José Fonseca [Mon, 29 Oct 2007 10:25:02 +0000 (10:25 +0000)]
Reserve the accurate number of dwords in the batch buffer.
José Fonseca [Fri, 26 Oct 2007 18:30:04 +0000 (19:30 +0100)]
Start a vertex buffer constuction stage for i915 based on Keith's draft done on softpipe.
Michal Krol [Mon, 29 Oct 2007 11:03:37 +0000 (11:03 +0000)]
Fix newlines.
Michal Krol [Sun, 28 Oct 2007 17:53:02 +0000 (17:53 +0000)]
Remove unused static functions.
Michal Krol [Sun, 28 Oct 2007 17:48:46 +0000 (17:48 +0000)]
Update comments.
Michal Krol [Sun, 28 Oct 2007 17:19:39 +0000 (17:19 +0000)]
Replace supported_formats with is_format_supported interface.
The old supported_formats interface returned a list of formats
supported by a pipe/winsys implementation. This was reasonable
when gallium had a fixed list of predefined format.
Now things has changed and the definition of PIPE_FORMAT is
more flexible.
The new shiny is_format_supported interface gets PIPE_FORMAT
as an argument and returns a boolean whether this particular
format is supported.
Michal Krol [Sun, 28 Oct 2007 16:36:07 +0000 (16:36 +0000)]
Use FREE and MALLOC instead of free and malloc.
Michal Krol [Sun, 28 Oct 2007 16:16:28 +0000 (16:16 +0000)]
Rework sse-utility function calls.
michal [Sun, 28 Oct 2007 14:42:26 +0000 (14:42 +0000)]
Declare temporaries in a more compact fashion.
The following declarations:
DCL TEMP[0]
DCL TEMP[1]
DCL TEMP[2]
DCL TEMP[4]
become:
DCL TEMP[0..2]
DCL TEMP[4]
michal [Sun, 28 Oct 2007 14:42:26 +0000 (14:42 +0000)]
Declare temporaries in a more compact fashion.
The following declarations:
DCL TEMP[0]
DCL TEMP[1]
DCL TEMP[2]
DCL TEMP[4]
become:
DCL TEMP[0..2]
DCL TEMP[4]
michal [Sun, 28 Oct 2007 14:27:02 +0000 (14:27 +0000)]
Control FS TGSI dumping with GALLIUM_DUMP_FS env variable.
michal [Sun, 28 Oct 2007 14:26:04 +0000 (14:26 +0000)]
Fix newlines.
michal [Sat, 27 Oct 2007 17:53:38 +0000 (18:53 +0100)]
Use FREE instead of free. Fix newlines.
michal [Sat, 27 Oct 2007 17:43:49 +0000 (18:43 +0100)]
Enable SSE path.
michal [Sat, 27 Oct 2007 17:42:20 +0000 (18:42 +0100)]
Fix fragment shader.
michal [Sat, 27 Oct 2007 17:41:47 +0000 (18:41 +0100)]
Optimize fragment program.
michal [Sat, 27 Oct 2007 16:30:23 +0000 (17:30 +0100)]
Use PIPE_FORMAT in state tracker.
Fix PIPE_FORMAT field encoding.
Re-implement st_get_format_info.
michal [Sat, 27 Oct 2007 14:55:11 +0000 (15:55 +0100)]
Refactor supported format queries.
michal [Sat, 27 Oct 2007 14:08:00 +0000 (15:08 +0100)]
Respect use_sse flag.
michal [Sat, 27 Oct 2007 14:07:09 +0000 (15:07 +0100)]
Fix SSE bug.
michal [Sat, 27 Oct 2007 13:42:17 +0000 (14:42 +0100)]
Add #ifs.
michal [Sat, 27 Oct 2007 13:41:16 +0000 (14:41 +0100)]
vertex_element::src_format needs 32 bits.
michal [Sat, 27 Oct 2007 13:40:22 +0000 (14:40 +0100)]
Respect use_sse flag.
michal [Sat, 27 Oct 2007 13:06:14 +0000 (14:06 +0100)]
Remove PIPE_FORMAT_COUNT references.
michal [Sat, 27 Oct 2007 13:05:13 +0000 (14:05 +0100)]
Enable SSE2 for fragment shaders.
michal [Sat, 27 Oct 2007 13:01:39 +0000 (14:01 +0100)]
Enable SSE2 for vertex shaders.
michal [Sat, 27 Oct 2007 12:35:46 +0000 (13:35 +0100)]
Fix YCBCR macro.
Fix line endings.
michal [Fri, 26 Oct 2007 17:00:35 +0000 (18:00 +0100)]
Fix alignment problems.
Remove NOP opcode.
TEX opcode returns solid white (a hack for D3D state tracker).
michal [Fri, 26 Oct 2007 16:53:56 +0000 (17:53 +0100)]
Remove GL dependencies.
michal [Fri, 26 Oct 2007 16:25:09 +0000 (17:25 +0100)]
Define destroy method called by softpipe's destructor.
michal [Fri, 26 Oct 2007 16:21:30 +0000 (17:21 +0100)]
Silence compiler warnings.
michal [Fri, 26 Oct 2007 16:20:53 +0000 (17:20 +0100)]
Silence compiler warnings.
michal [Fri, 26 Oct 2007 16:20:11 +0000 (17:20 +0100)]
Call quad stage destructors.
michal [Fri, 26 Oct 2007 16:19:20 +0000 (17:19 +0100)]
Remove llvm and sse2 dependencies.
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.
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.