Brian [Tue, 30 Oct 2007 18:24:05 +0000 (12:24 -0600)]
added pixel_transfer_cache
Brian [Tue, 30 Oct 2007 18:23:37 +0000 (12:23 -0600)]
added prog_cache.c
Brian [Tue, 30 Oct 2007 18:23:22 +0000 (12:23 -0600)]
Program cache functions.
Generic version of cache code from texenvprogram.c and t_vp_build.c
Not used by those files just yet, will also be used for pixel_transfer programs.
Michel Dänzer [Tue, 30 Oct 2007 17:36:05 +0000 (18:36 +0100)]
tgsi_translate_mesa_program: Don't crash when program->Parameters == NULL.
Brian [Tue, 30 Oct 2007 17:32:16 +0000 (11:32 -0600)]
Disable debug code.
Basic code for PixelTranslfer ops and glDrawPixels works now.
A pixel transfer program is generated and combined with the current
fragment shader.
Brian [Tue, 30 Oct 2007 17:19:31 +0000 (11:19 -0600)]
Remove obsolete files
Brian [Tue, 30 Oct 2007 17:18:31 +0000 (11:18 -0600)]
Rename file since it's now a state atom
Brian [Tue, 30 Oct 2007 17:16:55 +0000 (11:16 -0600)]
checkpoint: combine pixel transfer and user shader for glDrawPixels
Brian [Tue, 30 Oct 2007 17:16:26 +0000 (11:16 -0600)]
make st_upload_constants() public
Brian [Tue, 30 Oct 2007 17:15:59 +0000 (11:15 -0600)]
added pixel_transfer_program field
Brian [Tue, 30 Oct 2007 17:15:29 +0000 (11:15 -0600)]
added st_update_pixel_transfer atom
Brian [Tue, 30 Oct 2007 17:15:09 +0000 (11:15 -0600)]
bug fixes, implement state atom for pixel transfer
Brian [Tue, 30 Oct 2007 17:14:33 +0000 (11:14 -0600)]
check for NULL ptr in _mesa_print_parameter_list()
Brian [Mon, 29 Oct 2007 23:36:39 +0000 (17:36 -0600)]
Set _NEW_BUFFERS in glRead/DrawBuffer().
Previously, we set _NEW_PIXEL and _NEW_COLOR in these functions, respectively.
That correponds to the GL attribute groups, but doesn't make much sense
otherwise. This could improve validation efficiency in a few places too.
It looks like all the drivers are already checking for _NEW_BUFFERS in the
right places (since that's the bit for FBO state) so we can trim out
_NEW_PIXEL and _NEW_COLOR at any time.
Brian [Mon, 29 Oct 2007 23:32:42 +0000 (17:32 -0600)]
comment unused 'cb' field
Brian [Mon, 29 Oct 2007 23:14:23 +0000 (17:14 -0600)]
update comments, fix typo
Brian [Mon, 29 Oct 2007 22:38:53 +0000 (16:38 -0600)]
make _mesa_combine_programs() params const
Brian [Mon, 29 Oct 2007 22:38:23 +0000 (16:38 -0600)]
added st_pixeltransfer.c
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