Commit Graph

12358 Commits

Author SHA1 Message Date
José Fonseca fe55eab8fa Hold the vertex buffer handle. 2007-10-31 15:11:18 +00:00
José Fonseca 44e6944e9d Handle TGSI_OPCODE_RET. 2007-10-31 14:58:43 +00:00
José Fonseca af60ebc4ee Allow more verbose error output. 2007-10-31 14:16:00 +00:00
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