summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_cb_drawpixels.c
AgeCommit message (Collapse)Author
2007-11-04Check if the user/texenvprogram is just a pass-through program and skip ↵Brian
program concatenation.
2007-10-30Implement shader concatenation for glBitmap.Brian
2007-10-30combine shaders for glCopyPixelsBrian
2007-10-30Use program serial numbers to avoid re-generating fragment programs for ↵Brian
glDrawPixels.
2007-10-30Before calling texformat->StoreImage() set _ImageTransferState=0 since we'll ↵Brian
do pixel transfer in the fragment program.
2007-10-30Disable debug code.Brian
Basic code for PixelTranslfer ops and glDrawPixels works now. A pixel transfer program is generated and combined with the current fragment shader.
2007-10-30checkpoint: combine pixel transfer and user shader for glDrawPixelsBrian
2007-10-29Make it compile under linux.Michal Krol
Move pipe_region/surface_reference functions to pipe/p_inlines.h. Remove #include "p_util.h" from pipe/p_context.h.
2007-10-28Replace supported_formats with is_format_supported interface.Michal Krol
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.
2007-10-27Move mesa_to_tgsi.[ch] to state_trackerBrian
2007-10-25Move region_alloc() and region_release() to pipe_winsys.Brian
This allows regions to be allocated w/out a rendering context.
2007-10-25Move the get/put_tile() functions to pipe_context.Brian
The _rgba versions are temporary until the state tracker is updated.
2007-10-24flush pipe in draw_stencil_pixels()Brian
2007-10-18Alternate CopyPixels path based on get/put_tile().Brian
For some drivers (like Xlib) it's not possible to treat the front/back color buffers as pipe_regions. So pipe->region_copy() won't work. Added a new state tracker field indicating if we can use regions for colorbuffer accesses. This should probably be re-considered someday...
2007-10-18fix off-by-one error in CopyPixels src positionBrian
2007-10-18fix upside down CopyPixels imageBrian
2007-10-18checkpoint: code refactoring for glCopyPixelsBrian
2007-10-18start implementing glCopyPixels (stencil works)Brian
2007-10-17remove #include vf.hBrian
2007-10-17Fix viewport Z scale/bias to get the right Z values from drawing the quad.Brian
2007-10-16remove debug assertionBrian
2007-10-15add 'normalized_coords' field to pipe_sampler_stateBrian
This controls whether texcoords are interpreted as-is or scaled up from [0,1]. Fixes glDrawPixels/glBitmap problems on i915 when image is non power-of-two. Also, cleans up the CSO sampler state for i915 a bit.
2007-10-15simplify KIL usage for bitmap fragprogBrian
2007-10-13GL_STENCIL_INDEX supportBrian
2007-10-13glDrawPixels support for GL_DEPTH_COMPONENTBrian
2007-10-12Use KIL in glBitmap shader to cull the fragments for 0 bits.Brian
2007-10-12initial use of KIL for glBitmap renderingBrian
2007-09-28Instead of linked program pairs, keep a list of vertex programs translated ↵Brian
for each fragment program.
2007-09-25comments, null ptr checks, etc.Brian
2007-09-25don't apply pixelzoom to bitmapsBrian
2007-09-25st_draw_vertices() no longer needs attribs[] array parameterBrian
2007-09-25Simple implementation of glBitmap rendering.Brian
Create a texture matching the bitmap image and use a fragment program to modulate current raster color by the boolean-valued texture. Need to eventually use fragment culling (see comments in code).
2007-09-25re-org/prep for glBitmapBrian
2007-09-25Translate mesa vertex/fragment programs to TGSI programs at same time to do ↵Brian
proper linking. Previously, programs were translated independently during validation. The problem is the translation to TGSI format, which packs shader input/outputs into continuous slots, depends on which vertex program is being paired with which fragment shader. Now, we look at the outputs of the vertex program in conjunction with the inputs of the fragment shader to be sure the attributes match up correctly. The new 'linked_program_pair' class keeps track of the associations between vertex and fragment shaders. It's also the place where the TGSI tokens are kept since they're no longer per-program state but per-linkage. Still a few loose ends, like implementing some kind of hash/lookup table for linked_program_pairs.
2007-09-21Make the alpha test state a cso.Zack Rusin
2007-09-20Fix failover state binding and convert the sampler to use the newZack Rusin
state constant state object semantics.
2007-09-20Convert depth_stencil state to the new semantics.Zack Rusin
2007-09-20Switch fragment/vertex shaders to the new caching semantics.Zack Rusin
Allow driver custom allocation within cached objects. The shaders are currently twiced (by cso layer and by the program itself).
2007-09-19Checkpoint: replacement of TGSI_ATTRIB_x tokens with input/output semantics.Brian
TGSI_ATTRIB_x tokens still present and used in a few places. Expanded set of TGSI_SEMANTIC_x tokens for describing the meaning of inputs/outputs. These tokens are in a crude state ATM. Lots of #if 0 / disabled code to be removed yet, etc... Softpipe and i915 drivers should be in working condition but not heavily tested.
2007-09-19Convert the rasterizer cso to the new semantics.Zack Rusin
Basically make cso hold the driver specific struct, while managing the template.
2007-09-19Redo the cso cache to map driver data in a lot more pleasing way.Zack Rusin
Drivers can now create whatever they want from the state template. We use cso_state object to store the template (necessary during lookups), and the driver data. Convert blend state to the new semantics.
2007-09-19Finish up conversions of shaders to immutable objects.Zack Rusin
Create/Delete calls should be split since in create we'll be compiling them so we want to know which one it is (vertex/fragment).
2007-09-18Checkpoint: rework shader input/output register mapping.Brian
This is a step toward removing TGSI_ATTRIB_ tokens. Basically, when translating Mesa programs to TGSI programs, pass in input and output register re-maps, plus interpolation info. There's some known breakage (cubemap.c) so more to be done...
2007-09-18Convert shader to an immutable state object.Zack Rusin
2007-09-18converting the setup state to immutable object and renaming it to rasterizer ↵Zack Rusin
state
2007-09-18Combing depth and stencil objects and making them immutable.Zack Rusin
Converting depth and stencil objects into a single state object (d3d10 like) and making it immutable.
2007-09-18Make sampler an immutable state object.Zack Rusin
Switch the sample to be an immutable state object.
2007-09-18First stab at immutable state objects (create/bind/delete)Zack Rusin
We want our state objects to be immutable, handled via the create/bind/delete calls instead of struct propagation. Only implementing the blend state to see how it would look like and work.
2007-08-24add some warnings about bitmaps/copypixelsBrian
2007-08-22Rework of shader constant buffers.Brian
They're now totally independent of the actual shaders. Also, implemented in terms of pipe_buffer_handles/objects.