summaryrefslogtreecommitdiffstats
path: root/src/gallium/include
Commit message (Collapse)AuthorAgeFilesLines
* drm_api: Operate on textures instead of buffersJakob Bornecrantz2009-08-281-14/+15
| | | | | | | | | Most use cases just got the buffer from the texture and then called into one of the get_handle functions. Also with this patch it would be easier to move to a generic function for getting handles from textures and textures from handles, that is exposed via the screen.
* Merge branch 'mesa_7_5_branch'Brian Paul2009-08-181-0/+7
|\
| * gallium: Always map for READ flag when DISCARD is not set.José Fonseca2009-08-141-0/+7
| | | | | | | | | | | | | | | | | | | | This prevents the driver from discarding a buffer when the whole buffer is mapped for writing, but only a portion is effectively written. This is a temporary fix, because WRITE shouldn't imply DISCARD. The full fix implies using PIPE_BUFFER_USAGE_DISCARD, throughout the code, and will go only into master.
* | gallium: improved comments, minor whitespace changesBrian Paul2009-08-181-7/+10
| |
* | gallium: Make PIPE_TRANSFER_{READ,WRITE,READ_WRITE} bitmask friendly.Maarten Maathuis2009-08-171-3/+3
| |
* | gallium: Add texture usage information to surface_buffer_createJakob Bornecrantz2009-08-112-0/+2
| | | | | | | | | | | | We need aditional meta data about the usage of the surface in softpipe because we need to be able tell the diffrence between PRIMARY and DISPLAY_TARGET surfaces.
* | Rename TGSI LOOP instruction to better match theri usage.Michal Krol2009-07-311-4/+4
| | | | | | | | | | | | | | | | The LOOP/ENDLOOP pair is renamed to BGNFOR/ENDFOR as its behaviour is similar to a C language for-loop. The BGNLOOP2/ENDLOOP2 pair is renamed to BGNLOOP/ENDLOOP as now there is no name collision.
* | tgsi: Declare a LOOP register.Michal Krol2009-07-301-0/+1
| | | | | | | | | | | | | | The only valid usage for LOOP/ENDLOOP instructions is LOOP[0] as a destination register. The only valid usage for the remaining instructions is LOOP[0].x as an indirect register.
* | gallium: clean up opcode definitionsKeith Whitwell2009-07-231-145/+11
| | | | | | | | | | | | Remove commented-out opcodes. Remove information about API mappings to opcodes, but add a reference to tgsi-instruction-set.txt where that information is better presented.
* | gallium: remove deprecated TGSI opcodesKeith Whitwell2009-07-231-8/+0
| | | | | | | | | | | | Various opcodes which can be implemented trivially with other TGSI opcodes, such as matrix multiplication and negation. These were not used by any state tracker or implemented by any of the drivers.
* | gallium: remove multiple aliases for TGSI opcodesKeith Whitwell2009-07-221-40/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a source of ongoing confusion. TGSI has multiple names for opcodes where the same semantics originate in multiple shader APIs. For instance, TGSI includes both Mesa/GLSL and DX/SM30 names for opcodes with the same semantics, but aliases those names to the same underlying opcode number. This makes it very difficult to visually inspect two sets of opcodes (eg in state tracker & driver) and check if they implement the same functionality. This patch arbitarily rips out the versions of the opcodes not currently favoured by the mesa state tracker and leaves us with a single name for each distinct operation.
* | gallium: simplify tgsi_full_immediate structKeith Whitwell2009-07-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove the need to have a pointer in this struct by just including the immediate data inline. Having a pointer in the struct introduces complications like needing to alloc/free the data pointed to, uncertainty about who owns the data, etc. There doesn't seem to be a need for it, and it is unlikely to make much difference plus or minus to performance. Added some asserts as we now will trip up on immediates with more than four elements. There were actually already quite a few such asserts, but the >4 case could be used in the future to specify indexable immediate ranges, such as lookup tables.
* | gallium: Define PIPE_CAP_BLEND_EQUATION_SEPARATE, remove extension from ↵Patrice Mandin2009-07-141-0/+1
| | | | | | | | default extension list
* | gallium: Add endian detection to p_config.Corbin Simpson2009-07-081-0/+13
| |
* | gallium: rearrange some members to avoid memory holes/paddingZack Rusin2009-07-061-6/+6
| | | | | | | | plus it saves us a cacheline in the cso
* | Merge branch 'mesa_7_5_branch'Jakob Bornecrantz2009-07-031-1/+2
|\| | | | | | | | | | | Conflicts: src/mesa/main/dlist.c src/mesa/vbo/vbo_save_api.c
| * gallium: fix the front face semanticsZack Rusin2009-07-011-1/+2
| | | | | | | | | | | | | | | | mesa allocates both frontface and pointcoord registers within the fog coordinate register, by using swizzling. to make it cleaner and easier for drivers we want each of them in its own register. so when doing compilation from the mesa IR to tgsi allocate new registers for both and add new semantics to the respective declarations.
* | Merge branch 'mesa_7_5_branch'Brian Paul2009-06-303-7/+18
|\| | | | | | | | | | | Conflicts: src/mesa/vbo/vbo_exec_draw.c
| * gallium: New PIPE_BUFFER_USAGE_FLUSH_EXPLICIT flag for ↵José Fonseca2009-06-303-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | buffer_flush_mapped_range. When a buffer was mapped for write and no explicit flush range was provided the existing semantics were that the whole buffer would be flushed, mostly for backwards compatability with non map-buffer-range aware code. However if the buffer was mapped/unmapped with nothing really written -- something that often happens with the vbo -- we were unnecessarily assuming that the whole buffer was written. The new PIPE_BUFFER_USAGE_FLUSH_EXPLICIT flag (based from ARB_map_buffer_range 's GL_MAP_FLUSH_EXPLICIT_BIT flag) allows to clearly distinguish the legacy usage from the nothing written usage.
* | gallium: remove the pipe_sampler_state::shadow_ambient fieldBrian Paul2009-06-301-1/+0
| | | | | | | | | | | | | | This was only present for the sake of GL_ARB_shadow_ambient which we never implemented in Gallium. If we someday want GL_ARB_shadow_ambient we can implement it in the state tracker by adding a MAD after the relevant TEX instructions.
* | drm/st: Return drm_api struct from a functionJakob Bornecrantz2009-06-301-17/+21
| |
* | Merge branch 'mesa_7_5_branch'Brian Paul2009-06-261-0/+1
|\| | | | | | | | | | | | | | | Conflicts: Makefile src/gallium/drivers/softpipe/sp_screen.c src/mesa/main/version.h
| * gallium: added PIPE_CAP_TGSI_CONT_SUPPORTEDBrian Paul2009-06-261-0/+1
| |
* | gallium: Add PIPE_OS_APPLE token.Vinson Lee2009-06-251-0/+4
| |
* | Merge branch 'mesa_7_5_branch'Brian Paul2009-06-162-14/+15
|\| | | | | | | | | | | Conflicts: src/mesa/main/api_validate.c
| * gallium: Avoid atomic ops / locking when src is dst.José Fonseca2009-06-161-14/+14
| |
| * gallium: Ensure assert macro is defined before being used in p_thread.hJosé Fonseca2009-06-151-0/+1
| |
* | Merge branch 'mesa_7_5_branch'Thomas Hellstrom2009-06-151-1/+5
|\| | | | | | | | | | | Conflicts: progs/util/extfuncs.h
| * gallium: Fix segfault and valgrind error introduced with commit ↵Thomas Hellstrom2009-06-151-1/+5
| | | | | | | | | | | | 3f2e006b759705abd7c409d30f9aeb1f2a75b83f Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
* | Merge branch 'mesa_7_5_branch'José Fonseca2009-06-111-1/+11
|\|
| * gallium: New pf_is_depth_and_stencil / pf_is_depth_or_stencil inlines.José Fonseca2009-06-111-1/+11
| |
* | Merge branch 'mesa_7_5_branch'José Fonseca2009-06-111-0/+12
|\| | | | | | | | | | | Conflicts: src/mesa/state_tracker/st_cb_fbo.c src/mesa/state_tracker/st_framebuffer.c
| * gallium: Shorthand functions for computing stride and sizes for a rect.José Fonseca2009-06-101-0/+12
| |
* | gallium: updated PIPE_CAP_x commentsBrian Paul2009-06-101-3/+2
| |
* | gallium: Make pipe thread say if it has condvars or notJakob Bornecrantz2009-06-051-0/+2
| |
* | gallium: remove redundant cube face #definesBrian Paul2009-05-051-8/+1
|/
* gallium: Add a dri1 apiThomas Hellstrom2009-04-281-0/+82
| | | | | | that a driver needs to implement on top of the drm api to support dri1. Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
* gallium: Update the drm_api.Thomas Hellstrom2009-04-281-1/+18
| | | | | | | | Make it possible to pass state-tracker-specific data to the init_screen function, and even open the door for device-specific state-tracker screen initialization. Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
* pipe: Get the p_atomic_dec_zero logic right this time.José Fonseca2009-04-171-3/+2
|
* gallium: Fix PIPE_ATOMIC_GCC_INTRINSIC build.Michel Dänzer2009-04-171-2/+2
|
* pipe: Fix InterlockedDecrement usage.José Fonseca2009-04-171-1/+1
|
* gallium: simplify further the logic for selecting mutex implementationKeith Whitwell2009-04-171-53/+24
| | | | Cleaner than the previous cleanup...
* gallium: add #warning to mutex-based atomic implementationKeith Whitwell2009-04-171-0/+1
| | | | Some builds end up picking this up.
* gallium: Make sure we flush before some texture / buffer operations.Thomas Hellstrom2009-04-152-1/+35
| | | | | | | Also implement context member functions to optimize away those flushes whenever possible. Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
* gallium: remove pipe_texture::compressed fieldBrian Paul2009-04-101-1/+0
| | | | | The format field encodes compressed vs. uncompressed already. We can easily check if a texture is compressed with pf_is_compressed(texture->format).
* gallium: comments for surface_copy(), surface_fill() in p_context.hBrian Paul2009-04-091-2/+9
|
* gallium: change // comment to /* */ styleBrian Paul2009-04-091-1/+1
|
* gallium: updated comments in p_screen.hBrian Paul2009-04-091-4/+6
|
* gallium: Use "flags" consistently.José Fonseca2009-04-091-2/+2
|
* gallium: Clean up driver clear() interface.Michel Dänzer2009-04-042-4/+21
| | | | | Only allows clearing currently bound buffers, but colour and depth/stencil in a single call.