summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/p_state.h
AgeCommit message (Collapse)Author
2007-10-24Initial stab at LLVM integration.Zack Rusin
2007-10-22new flag to control psize (from vertex shader or fixed size)Brian
2007-10-22add support for sprite texcoord modesBrian
2007-10-22add point_sprite flag to rasterizer stateBrian
2007-10-19added get/put_tile_raw() methodsBrian
2007-10-18Change type of shader->executable field from void * to generic function pointer.Brian
Fix warnings in draw_create_vertex_shader()
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-09Pack fragment program outputs to be consistant with vertex programs.Brian
Previously, output[0] was always Z and output[1] was color. Now output[0] will be color if Z is not written. In shade_quad() use the semantic info to determine which quantity is in which output slot.
2007-10-03Add outputs_written bitfield to pipe_shader_state, use it to determine if ↵Brian
fragment shader writes Z.
2007-10-03Track fragment and vertex shader code generation via pipe shader state objects.Michel Dänzer
Unfortunately, the generated fragment shader code is effectively unusable until it handles quad->mask.
2007-09-20remove :5 form format field in pipe_surface, makes no difference at this timeBrian
2007-09-20Clean-up the TGSI_SEMANTIC tokens, introduce semantic indexes.Brian
Still need to produce decl instructions for vertex shaders...
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-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-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-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-24Hook-up SSE2 to VS.michal
2007-08-23Checkpoint: new vertex/fragment attribute namingBrian
Replace VF_ATTRIB_x with TGSI_ATTRIB_x When converting mesa programs to TGSI programs, also convert the InputsRead and OutputsWritten to a mask of TGSI_ATTRIB_ bits. Still need to do conversion for vertex programs...
2007-08-22added border_color to sampler stateBrian
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-17added outputs_written field to pipe_shader_stateBrian
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-15commentsBrian
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-11move pipe_buffer_handle definition to top of file, use it in pipe_regionBrian
2007-08-10pipe->region_alloc() now takes width instead of pitch, plus a flags paramBrian
2007-08-09Split texfilter enums to match common hardware usage.Keith Whitwell
2007-08-09Checkpoint intel_renderbuffer removal.Brian
Remove surface ptr from gl_renderbuffer. Use st_renderbuffer in most places. More clean-up.
2007-08-07added pipe_mipmap_tree::formatBrian
2007-08-07remove pipe_surface_samplerBrian
2007-08-07sketch out new pipe surface/sampler typesBrian
2007-08-07s/pipe_texture_object/pipe_mipmap_tree/, drop st_texobj.cBrian
2007-08-06commentsBrian
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.
2007-08-02Remove references to accum buffers in softpipe.Keith Whitwell
Also some minor clear fixes.
2007-08-02Remove remnants of i915 texture-from-pbo code.Keith Whitwell
2007-07-31Redesign pipe_surface in terms of pipe_region.Brian
struct pipe_buffer goes away. Added basic region functions to softpipe to allocate/release malloc'd regions. Surface-related code is fairly coherent now.
2007-07-31Lift region-related functions up to the pipe interface.Brian
Some of these functions probably should be driver-private. Note: intel_buffer_object is in p_state.h and should be fixed/removed. There are just a few i915 dependencies in intel_region.c
2007-07-30Lots of improvements to the surface-related code.Brian
Z testing now works with i915 driver. Add gl_renderbuffer::surface pointer (and reverse pointer). Remove intel_surface and xmesa_surface types - no longer used.
2007-07-24s/GLuint/GLbitfield/Brian
2007-07-24Basic fragment programs run now.Brian
Handling of constants might change. For now, the st_fragment_program struct contains a pipe_constant_buffer (not a pointer).
2007-07-19Trigger tgsi compilation for fragment programs.Keith Whitwell
Not sure the generated program looks correct though...
2007-07-13Added basic occlusion countingBrian
2007-07-12minor changes, comments about multiple color buffers, MRT.Brian