summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_context.h
AgeCommit message (Collapse)Author
2007-12-11gallium: Remove feedback interfaces from pipe driver.Keith Whitwell
Something similar will return when geometry shaders are added, but for now this interface is not required.
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-16Reimplement glRasterPos using the private 'draw' module.Brian
2007-11-05move st_invalidate_state() prototype to st_context.hBrian
2007-11-05Update xlib driver to use newer state tracker context/framebuffer functions.Brian
XMesaContext has an st_context * which contains a mesa context.
2007-11-05Introduce st_framebuffer type and st_create_framebuffer(), st_make_current()Brian
2007-10-30Implement shader concatenation for glBitmap.Brian
2007-10-30Use program serial numbers to avoid re-generating fragment programs for ↵Brian
glDrawPixels.
2007-10-30added pixel_transfer_cacheBrian
2007-10-30added pixel_transfer_program fieldBrian
2007-10-30comment unused 'cb' fieldBrian
2007-10-30update comments, fix typoBrian
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-03Get rid of ST_NEW_SHADER flag and the dependency on _NEW_PROGRAMZack Rusin
which is being hit all the time. Done by Keith really.
2007-09-25some clean-up of ST_NEW_ shader flagsBrian
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-20Checkpoint: vertex attribute clean-up.Brian
Remove/disable the attrib/slot mapping arrays in a few places. Work in progress...
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-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-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-09-17Plug in selection/feedback code.Brian
Not quite finished yet. Selection/feedback are done with a private instance of the 'draw' module in the state tracker. Not quite all the draw context's state is set yet, namely vertex format info. Hold off on that for a bit...
2007-09-10plug in rasterpos/feedback codeBrian
2007-08-25add names to tracked state atoms to improve debugkeithw
2007-08-25checkpoint in constant tracking reworkKeith Whitwell
2007-08-22Need to store vendor and renderer strings in the context.Brian
As it was, we always returned the same pointer. So glxinfo, which calls glGetString() before printing anything, was printing the same string for both vendor and renderer.
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.
2007-08-18Create a default vertex attribute buffer which mirrors ctx->Current.Attrrib[]Brian
Used when the vertex shader references attributes which aren't present in VBOs.
2007-08-16Begin added vertex shader state/support.Brian
Renamed pipe_fs_state to pipe_shader_state since it can be used for both vertex and fragment shader info.
2007-08-13Added st_fb_orientation() function to determine the up/down orientation of ↵Brian
the framebuffer.
2007-08-13fix some issues with texture/mipmap_tree state trackingBrian
2007-08-10Move string functions to state_tracker, add queries to pipe, winsys.Keith Whitwell
2007-08-10Handle glFlush/glFinish through the state tracker.Keith Whitwell
2007-08-06New st_init_*_functions() to initialize the driver functions table.Brian
We need to do these initializations before initializing the Mesa context because context init involves creating texture/program/etc objects.
2007-07-19Trigger tgsi compilation for fragment programs.Keith Whitwell
Not sure the generated program looks correct though...
2007-07-03hook in state tracking for blend colorBrian
2007-07-02rename a few structs (use _state suffix consistantly), reorder/sort fields ↵Brian
in some structs
2007-06-26consolidate point/line state into pipe_setup_stateBrian
2007-06-22more texture sampler workBrian
2007-06-20Initial work for glClear(), clear color state.Brian
2007-06-19hook up point stateBrian
2007-06-18Added alpha test state.Brian