Commit graph

13455 commits

Author SHA1 Message Date
José Fonseca
13acc26385 Chain vertex buffers into the batch buffer. 2007-10-31 13:20:01 +00:00
Brian
520c71161a Implement shader concatenation for glBitmap. 2007-10-30 18:38:32 -06:00
Brian
fb9cf48259 fix InputsRead bug in _mesa_combine_programs() 2007-10-30 18:26:34 -06:00
Brian
c1b2b97b8a special-case KIL/KIL_NV 2007-10-30 18:24:54 -06:00
Brian
2dfe0c4a24 combine shaders for glCopyPixels 2007-10-30 17:46:40 -06:00
Brian
d6a739f6b0 Use program serial numbers to avoid re-generating fragment programs for glDrawPixels. 2007-10-30 16:13:37 -06:00
Brian
ee70c02b62 Before calling texformat->StoreImage() set _ImageTransferState=0 since we'll do pixel transfer in the fragment program. 2007-10-30 13:55:56 -06:00
Brian
4836217850 color matrix 2007-10-30 13:54:24 -06:00
Brian
0abd1fca91 more additions for COLOR_MATRIX, etc 2007-10-30 13:53:38 -06:00
Brian
068c7bd912 add state vars for color matrix, pixel transfer scale&bias 2007-10-30 12:39:58 -06:00
Brian
8aa42546ad start using program cache 2007-10-30 12:25:25 -06:00
Brian
df174bdb81 added pixel_transfer_cache 2007-10-30 12:25:25 -06:00
Brian
3e31799640 added prog_cache.c 2007-10-30 12:25:25 -06:00
Brian
0ee15e050b 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.
2007-10-30 12:25:25 -06:00
Michel Dänzer
2f496ff957 tgsi_translate_mesa_program: Don't crash when program->Parameters == NULL. 2007-10-30 18:40:55 +01:00
Brian
ab3f6015aa 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.
2007-10-30 11:32:53 -06:00
Brian
cbdff56f8c Remove obsolete files 2007-10-30 11:32:53 -06:00
Brian
7ce99a1103 Rename file since it's now a state atom 2007-10-30 11:32:53 -06:00
Brian
de38d9c498 checkpoint: combine pixel transfer and user shader for glDrawPixels 2007-10-30 11:32:53 -06:00
Brian
b8042fb7fb make st_upload_constants() public 2007-10-30 11:32:53 -06:00
Brian
0be546fa53 added pixel_transfer_program field 2007-10-30 11:32:53 -06:00
Brian
088e80f6db added st_update_pixel_transfer atom 2007-10-30 11:32:53 -06:00
Brian
64a97680a7 bug fixes, implement state atom for pixel transfer 2007-10-30 11:32:53 -06:00
Brian
8234935b65 check for NULL ptr in _mesa_print_parameter_list() 2007-10-30 11:32:53 -06:00
Brian
ba0fcc47d6 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.
2007-10-30 11:32:53 -06:00
Brian
b19a933930 comment unused 'cb' field 2007-10-30 11:32:53 -06:00
Brian
cc9b4df5cb update comments, fix typo 2007-10-30 11:32:53 -06:00
Brian
1203f54686 make _mesa_combine_programs() params const 2007-10-30 11:32:52 -06:00
Brian
bcc026893b added st_pixeltransfer.c 2007-10-30 11:32:52 -06:00
Brian
cf56a99fb0 Initial version of st_get_pixel_transfer_program().
For generating fragment programs which implement pixel transfer ops.
2007-10-30 11:32:52 -06:00
Brian
9ffd88911f Added _mesa_combine_programs() for concatenating two programs. 2007-10-30 11:32:52 -06:00
Brian
4b30d177b4 added _mesa_combine_parameter_lists() 2007-10-30 11:32:52 -06:00
Zack Rusin
449562cde0 Switch to using LLVM builder.
Instead of creating all the instructions by hand, switching
to using LLVMBuilder.
2007-10-30 09:00:36 -04:00
Zack Rusin
c97c03da46 Refactor vector extraction. 2007-10-30 07:43:02 -04:00
Zack Rusin
dfd774318d Export true C based builtins to a file of its own. 2007-10-30 07:16:22 -04:00
Zack Rusin
a01341a762 Rename to better reflect what it's really doing. 2007-10-30 06:55:08 -04:00
Zack Rusin
ea2c74a25e Code cleanups. 2007-10-30 06:33:30 -04:00
Zack Rusin
a94251d081 Cleanup constant vector handling a bit. 2007-10-30 05:15:06 -04:00
Zack Rusin
75a9018fb9 Dump only relevant functions when in the debugging output. 2007-10-30 05:15:06 -04:00
Zack Rusin
fd908ce234 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.
2007-10-30 05:15:05 -04:00
Zack Rusin
b0f3b5910e 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.
2007-10-30 05:15:05 -04:00
Brian
8b2f997af5 minor code simplification 2007-10-29 15:15:34 -06:00
Brian
64ffc9540b fix memcpy bugs 2007-10-29 15:15:34 -06:00
Brian
1553eba50c Rewrite update_program() to use _mesa_get_fixed_func_fragment/vertex_program(). 2007-10-29 15:15:34 -06:00
Brian
f18d4e058e Remove ctx field from texenvprog_cache 2007-10-29 15:15:34 -06:00
Brian
9946012949 refactoring to begin removing dependency on tnl context 2007-10-29 15:15:34 -06:00
Brian
783cedcdc1 simplify getting of current frag prog 2007-10-29 15:15:34 -06:00
Brian
27153bf02d Refactor _tnl_UpdateFixedFunctionProgram().
New _mesa_get_fixed_func_vertex_program() function...
2007-10-29 15:15:34 -06:00
Brian
83ce6c51d7 Refactor _mesa_UpdateTexEnvProgram()
Will be replaced by _mesa_get_fixed_func_fragment_program().
2007-10-29 15:15:34 -06:00
Michal Krol
918ea5168b 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'.
2007-10-29 19:50:10 +00:00