summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/p_context.h
AgeCommit message (Collapse)Author
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-29Make gallium compile in win32.Michal Krol
Use FREE, MALLOC, CALLOC, GETENV wrappers. Silence compiler warnings. Add proper copyrights.
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-27Remove llvm dependencies.michal
2007-10-26Re-implement GLSL texture sampler variables.Brian
GLSL sampler variables indicate which texture unit to use for TEX instructions. Previously, this was baked into the fragment/vertex program and couldn't be readily changed once set. Now, SamplerUnits[] array indicates which texture unit is to be used for each sampler variable. These values are set with glUniform1i(). This is extra state that must be passed to the fragment/vertex program executor at runtime.
2007-10-26surface_alloc() is now a winsys function.Brian
This allows surfaces to be allocated without a rendering context. A few loose ends to resolve, but in working condition.
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-24Revert "Undo indexOffset change (I think, git???)"Brian
This reverts commit 11ce6244a79106c592364b30434b6ddade3fd6bb.
2007-10-24Undo indexOffset change (I think, git???)Brian
2007-10-24Execution engine is a singleton, for now keep it in the pipe.Zack Rusin
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-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-17Remove non-meaningful region_idle() interfaceKeith Whitwell
This is already handled by the semanics of map(), etc.
2007-09-11Implement query object interface.Brian
This replaces the temporary occlusion counter functions we had before. Added new ctx->Driver.WaitQuery() function which should block until the result is ready. Sketch out some code for vertex transformation feedback counters.
2007-09-10More work on vertex feedback / glRasterPos. Basic rasterpos works now.Brian
2007-09-06Initial work for post-transformed vertex feedback buffers.Brian
This will be used for: GL_NV_transform_feedback, or similar GL3 functionality glRasterPos GL selection/feedback modes
2007-08-22Improved pipe_region/surface_reference() functionsBrian
Now dereferences the old object first. Target object may be NULL to clear the pointer.
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-21First pass at a fallback concept for pipe devices.Keith Whitwell
Creates a new pipe driver that feeds commands to either a hardware or software pipe depending on fallback state. Untested concept checkpoint. At this point it compiles.
2007-08-20Checkpoint: remove more of the old draw_vb() code.Brian
2007-08-20implement draw_elements()Brian
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-15added new draw_arrays()Brian
2007-08-15added some const qualifiersBrian
2007-08-14Add structs and set-functions for vertex buffer, element state.Keith Whitwell
Not currently used.
2007-08-13Start breaking the #include dependencies between pipe drivers and mesa.Keith Whitwell
Pipe drivers shouldn't really know much about mesa and certainly shouldn't be #including files from src/mesa/main and the like. I've also (in i915simple especially) moved over from GL types to more conventional int/unsigned usage. This probably isn't really the ultimate desired set of types to use - possibly C99 would be better. It may even be that a subset of the GL types is preferable.
2007-08-10Move string functions to state_tracker, add queries to pipe, winsys.Keith Whitwell
2007-08-10added pipe->max_texture_size() query, use it in st_drawpixels()Brian
2007-08-10Lift common winsys functions into pipe's new p_winsys.Keith Whitwell
2007-08-10Handle glFlush/glFinish through the state tracker.Keith Whitwell
2007-08-10pipe->region_alloc() now takes width instead of pitch, plus a flags paramBrian
2007-08-10added pipe_surface_unreference()Brian
2007-08-09Add flush/finish functionality to pipe.Keith Whitwell
Not sure if finish() is the right interface yet.
2007-08-07sketch out new pipe surface/sampler typesBrian
2007-08-07s/pipe_texture_object/pipe_mipmap_tree/, drop st_texobj.cBrian
2007-08-06Checkpoint lifting of intel_mipmap_tree (intel_mipmap_tree -> ↵Brian
pipe_mipmap_tree and move some code)
2007-08-06Add pipe buffer managment functions.Keith Whitwell
The state_tracker driver needs these to implement, eg. pixel buffer objects, vertex buffer objects.
2007-08-05Add a new interface between softpipe and the window system / buffer manager.Keith Whitwell
This interface is defined by softpipe and any window system (eg i915pipe) wishing to use softpipe is required to implement the interface. Currently the interface is all about buffer management. Generalizing, each pipe driver will advertise an interface in a similar spirit to this, and again any window system driver wishing to use that rendering pipeline will have to implement the interface it defines. It clearly isn't a one-way street however, as softpipe could just do its own buffer management with malloc. The interaction with a buffer manager is desired to allow us to exercise the hardware swapbuffers functionality of the i915pipe driver, and also to get a feel for the way hardware drivers which really need a buffer manager will work.