summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_cb_drawpixels.c
AgeCommit message (Collapse)Author
2008-01-23gallium: remove support for separate depth/stencil buffers. Always combined ↵Brian
now.
2008-01-16tweaks to quad drawing, set UsesKill in bitmap shaderBrian
2008-01-14Fix problems with vertex shaders and the private draw module.Brian
The CSO returned by pipe->create_vs_state() can't be passed to the private draw module. That was causing glRasterPos to blow up. Add a 'draw_shader' field to st_vertex_program for use with the private draw module. Change st_context->state.vs type from cso_vertex_shader to st_vertex_program.
2008-01-14Remove pipe->get/put_tile_rgba.Michel Dänzer
pipe_get/put_tile_rgba() now use pipe->get/put_tile internally. Also simplify the <format>_get/put_tile_rgba() helper functions and clean up some inconsitencies in them.
2008-01-14Remove mapping fields from struct pipe_surface.Michel Dänzer
It's now the responsibility of surface users to keep track of their mappings.
2007-12-20gallium: make state tracker explictly ask for rendercache flushesKeith Whitwell
2007-12-17gallium: incorporate alpha state into depth_stencil state object.Keith Whitwell
2007-12-11Remove internal_format field from struct pipe_texture.Michel Dänzer
It's state tracker specific / not really necessary anyway.
2007-12-11gallium: remove set_sampler_units interfaceKeith Whitwell
The effect of this mapping can be acheived by the state tracker and setting up the pipe texture state pointers to incorporate its affects.
2007-12-10Add 'type' parameter to is_format_supported() to specify texture vs. drawing ↵Brian
surface, etc. Additional types may be added in the future.
2007-12-07Define PIPE_FORMAT_ tokens as an enum set, rather than #defines.Brian
This makes debugging a _lot_ easier. In gdb, "print format" used to display 613570600, now you see PIPE_FORMAT_A8R8G8B8_UNORM.
2007-12-07Replace "duplicate" formatsBrian
2007-12-07Eliminate struct pipe_region.Michel Dänzer
Directly use struct pipe_buffer_handle for storage and struct pipe_surface for (un)mapping.
2007-12-06Hide texture layout details from the state tracker.Michel Dänzer
pipe->get_tex_surface() has to be used for access to texture image data.
2007-11-29Move dimensions from struct pipe_region to struct pipe_surface.Michel Dänzer
2007-11-06Remove pipe->max_texture_size(), use get_param() instead.Brian
Also, in st_init_limits(), clamp driver's values against Mesa's internal limits.
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.