summaryrefslogtreecommitdiffstats
path: root/src/mesa/pipe/p_context.h
Commit message (Collapse)AuthorAgeFilesLines
* gallium: pipe->surface_copy can flip the contents vertically when necessary.Michel Dänzer2008-02-131-0/+1
| | | | Fixes gears being upside down on the box in demos/gearbox.
* gallium: change pipe->texture_create() to operate like the CSO functionsBrian2008-02-061-2/+2
| | | | Now, pass in a template object and return a new object.
* gallium: minor cleanups to pipe interfaceKeith Whitwell2008-01-261-27/+9
| | | | | - Remove put/get tile, just have users call put_tile_raw, etc directly. - Remove surface_data call, just map it locally.
* gallium: rename pipe_buffer_handle to pipe_buffer, rework pipebuffer/ codeKeith Whitwell2008-01-251-1/+1
| | | | | | | | | | | Provide an actual definition of the pipe_buffer struct, containing the parameters used to create the buffer, and its refcount. Shift refcounting buffers out of the winsys interface, similar to surfaces & textures. Rework pipebuffer/ to reflect the fact these changes, and also Michel's reworking of the buffer interface.
* Don't include stdint.h or inttypes. Use the uint64 typedef instead of uint64_t.Brian2008-01-151-2/+2
|
* Remove pipe->get/put_tile_rgba.Michel Dänzer2008-01-141-5/+0
| | | | | | | 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.
* Remove mapping fields from struct pipe_surface.Michel Dänzer2008-01-141-2/+2
| | | | It's now the responsibility of surface users to keep track of their mappings.
* gallium: incorporate alpha state into depth_stencil state object.Keith Whitwell2007-12-171-9/+4
|
* Rework gallium and mesa queries a little.Keith Whitwell2007-12-111-3/+17
| | | | | | Add a 'CheckQuery()' driver callback to mesa to check query completion. Make pipe_query an opaque type. Rework softpipe queries, support overlapping occlusion queries.
* gallium: remove set_sampler_units interfaceKeith Whitwell2007-12-111-6/+6
| | | | | The effect of this mapping can be acheived by the state tracker and setting up the pipe texture state pointers to incorporate its affects.
* gallium: remove redundant clear_color state.Keith Whitwell2007-12-111-3/+0
|
* gallium: Remove feedback interfaces from pipe driver.Keith Whitwell2007-12-111-9/+0
| | | | | Something similar will return when geometry shaders are added, but for now this interface is not required.
* Add 'type' parameter to is_format_supported() to specify texture vs. drawing ↵Brian2007-12-101-1/+2
| | | | | | surface, etc. Additional types may be added in the future.
* Define PIPE_FORMAT_ tokens as an enum set, rather than #defines.Brian2007-12-071-1/+1
| | | | | This makes debugging a _lot_ easier. In gdb, "print format" used to display 613570600, now you see PIPE_FORMAT_A8R8G8B8_UNORM.
* Eliminate struct pipe_region.Michel Dänzer2007-12-071-9/+1
| | | | | Directly use struct pipe_buffer_handle for storage and struct pipe_surface for (un)mapping.
* Hide texture layout details from the state tracker.Michel Dänzer2007-12-061-4/+7
| | | | pipe->get_tex_surface() has to be used for access to texture image data.
* Move dimensions from struct pipe_region to struct pipe_surface.Michel Dänzer2007-11-291-24/+24
|
* Added pipe->get_paramf() to query float limits.Brian2007-11-081-0/+1
| | | | So far max point size, line width, texture anistopy and lod bias.
* Rename struct field 'private' to 'priv'.Michel Dänzer2007-11-081-1/+1
| | | | This broke the LLVM build because 'private' is a C++ keyword.
* Remove context dependencies in winsys layer.Brian2007-11-071-0/+2
| | | | | | The winsys object is now per-screen and shared by multiple contexts. The regionPool is now part of the i915 winsys layer. The winsys wait_idle() and flush_frontbuffer() funcs will get more attention...
* Remove pipe->max_texture_size(), use get_param() instead.Brian2007-11-061-6/+0
| | | | Also, in st_init_limits(), clamp driver's values against Mesa's internal limits.
* update comments for pipe_contextBrian2007-10-311-2/+7
|
* Make it compile under linux.Michal Krol2007-10-291-60/+0
| | | | | Move pipe_region/surface_reference functions to pipe/p_inlines.h. Remove #include "p_util.h" from pipe/p_context.h.
* Make gallium compile in win32.Michal Krol2007-10-291-3/+3
| | | | | | Use FREE, MALLOC, CALLOC, GETENV wrappers. Silence compiler warnings. Add proper copyrights.
* Replace supported_formats with is_format_supported interface.Michal Krol2007-10-281-2/+2
| | | | | | | | | | | 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.
* Remove llvm dependencies.michal2007-10-271-4/+3
|
* Re-implement GLSL texture sampler variables.Brian2007-10-261-0/+3
| | | | | | | | | | 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.
* surface_alloc() is now a winsys function.Brian2007-10-261-8/+1
| | | | | This allows surfaces to be allocated without a rendering context. A few loose ends to resolve, but in working condition.
* Move region_alloc() and region_release() to pipe_winsys.Brian2007-10-251-9/+4
| | | | This allows regions to be allocated w/out a rendering context.
* Move the get/put_tile() functions to pipe_context.Brian2007-10-251-0/+18
| | | | The _rgba versions are temporary until the state tracker is updated.
* Revert "Undo indexOffset change (I think, git???)"Brian2007-10-241-1/+1
| | | | This reverts commit 11ce6244a79106c592364b30434b6ddade3fd6bb.
* Undo indexOffset change (I think, git???)Brian2007-10-241-1/+1
|
* Execution engine is a singleton, for now keep it in the pipe.Zack Rusin2007-10-241-1/+3
|
* Make the alpha test state a cso.Zack Rusin2007-09-211-14/+18
|
* Fix failover state binding and convert the sampler to use the newZack Rusin2007-09-201-8/+5
| | | | state constant state object semantics.
* Convert depth_stencil state to the new semantics.Zack Rusin2007-09-201-7/+4
|
* Switch fragment/vertex shaders to the new caching semantics.Zack Rusin2007-09-201-14/+9
| | | | | Allow driver custom allocation within cached objects. The shaders are currently twiced (by cso layer and by the program itself).
* Checkpoint: replacement of TGSI_ATTRIB_x tokens with input/output semantics.Brian2007-09-191-1/+2
| | | | | | | | 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.
* Convert the rasterizer cso to the new semantics.Zack Rusin2007-09-191-7/+4
| | | | | Basically make cso hold the driver specific struct, while managing the template.
* Redo the cso cache to map driver data in a lot more pleasing way.Zack Rusin2007-09-191-6/+4
| | | | | | 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.
* Finish up conversions of shaders to immutable objects.Zack Rusin2007-09-191-3/+8
| | | | | 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).
* Convert shader to an immutable state object.Zack Rusin2007-09-181-6/+10
|
* converting the setup state to immutable object and renaming it to rasterizer ↵Zack Rusin2007-09-181-3/+8
| | | | state
* Combing depth and stencil objects and making them immutable.Zack Rusin2007-09-181-6/+8
| | | | | Converting depth and stencil objects into a single state object (d3d10 like) and making it immutable.
* Make sampler an immutable state object.Zack Rusin2007-09-181-4/+9
| | | | Switch the sample to be an immutable state object.
* First stab at immutable state objects (create/bind/delete)Zack Rusin2007-09-181-4/+8
| | | | | | | 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.
* Remove non-meaningful region_idle() interfaceKeith Whitwell2007-09-171-2/+0
| | | | This is already handled by the semanics of map(), etc.
* Implement query object interface.Brian2007-09-111-4/+5
| | | | | | 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.
* More work on vertex feedback / glRasterPos. Basic rasterpos works now.Brian2007-09-101-6/+4
|
* Initial work for post-transformed vertex feedback buffers.Brian2007-09-061-2/+16
| | | | | | | This will be used for: GL_NV_transform_feedback, or similar GL3 functionality glRasterPos GL selection/feedback modes