summaryrefslogtreecommitdiffstats
path: root/src/gallium/include
Commit message (Collapse)AuthorAgeFilesLines
* gallium: document pipe_context::get_query_result()Brian Paul2010-01-291-0/+5
|
* tgsi: add caps for fragment coord conventions (v3)Luca Barbieri2010-01-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in v3: - Renumber caps to accomodate caps to add to master in the meantime - Document caps - Add unsupported caps to *_screen.c too Changes in v2: - Split for properties patch - Use positive caps instead of negative caps This adds 4 caps to indicate support of each of the fragment coord conventions. All drivers are also modifed to add the appropriate caps. Some drivers were incorrectly using non-Gallium-default conventions, and caps for them have them set so that they will behave correctly after the later state tracker patches. This drivers are softpipe/llvmpipe (uses integer rather than half integer) and pre-nv50 Nouveau (uses lower left rather than upper left). Other drivers might be broken. With this patchset, fixing them is only a matter of exposing the appropriate caps that match the behavior of the existing code. Drivers are encouraged to support all conventions themselves for better performance, and this feature is added to softpipe in a later patch.
* tgsi: add properties for fragment coord conventions (v3)Luca Barbieri2010-01-291-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in v3: - Documented the new properties - Added comments for property values - Rebased to current master Changes in v2: - Caps are added in a separate, subsequent patch This adds two TGSI fragment program properties that indicate the fragment coord conventions. The properties behave as described in the extension spec for GL_ARB_fragment_coord_conventions, but the default origin in upper left instead of lower left as in OpenGL. The syntax is: PROPERTY FS_COORD_ORIGIN [UPPER_LEFT|LOWER_LEFT] PROPERTY FS_COORD_PIXEL_CENTER [HALF_INTEGER|INTEGER] The names have been chosen for consistency with the GS properties and the OpenGL extension spec. The defaults are of course the previously assumed conventions: UPPER_LEFT and HALF_INTEGER.
* Merge commit 'origin/perrtblend'Roland Scheidegger2010-01-282-5/+12
|\ | | | | | | | | | | Conflicts: src/gallium/drivers/softpipe/sp_screen.c src/gallium/include/pipe/p_defines.h
| * gallium: remove PIPE_CAP_S3TC, and add PIPE_CAP_DUAL_SOURCE_BLENDRoland Scheidegger2010-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | there's no point in keeping deprecated PIPE_CAPS around since there's no stable interface (yet). Reuse the enum for PIPE_CAP_DUAL_SOURCE_BLEND. Drivers advertizing this will accept the pipe blendfactors with SRC1 in them and be able to do dual source blending (src color from pixel shader output 0, and blendfactor with SRC1 will come from output 1, only one render target may be bound when using any of these blend factors).
| * docs: clean up sampler descriptionRoland Scheidegger2010-01-211-1/+1
| |
| * gallium: new PIPE_CAP bits for the independent blend functionalityRoland Scheidegger2010-01-211-0/+2
| |
| * gallium: prepare for per-rendertarget blend enables, writemasks, blend funcsRoland Scheidegger2010-01-201-3/+8
| | | | | | | | | | | | | | | | GL 3.0 (EXT_draw_buffers2) and other APIs allow independent blend enables and write masks per render target, ARB_draw_buffers_blend (and other APIs) also allow independent blend functions. Things like dithering, logic ops however are not extended to be per rendertarget, that might be conceptually possible however it doesn't look like any API wants to expose this.
* | gallium: Add CAPs for constant buffers.Michal Krol2010-01-281-0/+2
| |
* | gallium: Rename PIPE_MAX_CONSTANT to PIPE_MAX_CONSTANT_BUFFERS.Michal Krol2010-01-281-1/+1
| |
* | gallium: Add tgsi_declaration_dimension token.Michal Krol2010-01-281-1/+8
| | | | | | | | This will allow us to declare two-dimensional constant buffers.
* | Check for __USE_MISC for defining uint & ushortAlan Hourihane2010-01-261-1/+1
| |
* | Merge branch 'mesa_7_7_branch'Brian Paul2010-01-222-8/+38
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c src/gallium/auxiliary/pipebuffer/Makefile src/gallium/auxiliary/pipebuffer/SConscript src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/tgsi/tgsi_scan.c src/gallium/drivers/i915/i915_surface.c src/gallium/drivers/i915/i915_texture.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/softpipe/sp_prim_vbuf.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/winsys/drm/intel/gem/intel_drm_api.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_drm.c src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c src/mesa/state_tracker/st_cb_clear.c
| * | gallium: New inline to write buffers which avoids synchronization.José Fonseca2010-01-211-0/+31
| | |
| * | gallium: Set PIPE_BUFFER_USAGE_DISCARD flag in pipe_buffer_write.José Fonseca2010-01-211-1/+2
| | |
| * | gallium: Remove temporary hack for the absence of a discard flag.José Fonseca2010-01-211-7/+0
| | | | | | | | | | | | PIPE_BUFFER_USAGE_DISCARD flag now exists.
| * | st/drm: Expose kernel driver nameJakob Bornecrantz2010-01-191-0/+5
| | | | | | | | | | | | | | | | | | Based on patch by Chia-I Wu <[email protected]> Expose the name of the kernel driver as accepted by drmOpenByName.
| * | st/dri: update dri2 drawables when viewport is changedBen Skeggs2010-01-191-0/+5
| | | | | | | | | | | | | | | | | | | | | Fixes gnome-shell on nouveau, as well as window resize with various other applications. Signed-off-by: Ben Skeggs <[email protected]>
* | | gallium: fix conditional rendering commentBrian Paul2010-01-211-1/+1
| | |
* | | gallium: updated comments, whitespace fixesBrian Paul2010-01-211-15/+15
| |/ |/|
* | Sun compilers now support some gcc __attribute__ valuesAlan Coopersmith2010-01-191-2/+3
| | | | | | | | | | | | | | | | | | | | | | Sun cc 5.9 and later (__SUNPRO_C >= 0x590) support __attribute__ calls for aligned, always_inline, noinline, pure, const, and malloc. This commit includes updates to files that were regenerated by gl_XML.py after adding the __SUNPRO_C checks to it Signed-off-by: Alan Coopersmith <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* | gallium: Support swig "compiler" in p_compiler.hJakob Bornecrantz2010-01-171-0/+7
| |
* | Merge branch 'gallium-noconstbuf'Roland Scheidegger2010-01-152-10/+1
|\ \ | | | | | | | | | | | | | | | Conflicts: src/gallium/drivers/softpipe/sp_draw_arrays.c src/mesa/state_tracker/st_draw_feedback.c
| * | gallium: remove const qualifier from pipe_buffer argument in set_constant_bufferRoland Scheidegger2010-01-111-1/+1
| | |
| * | gallium: API cleanup, remove pointless pipe_constant_bufferRoland Scheidegger2009-12-232-10/+1
| | |
* | | Merge branch 'instanced-arrays'Michal Krol2010-01-143-11/+33
|\ \ \ | | | | | | | | | | | | | | | | Conflicts: src/gallium/drivers/softpipe/sp_draw_arrays.c
| * | | gallium: draw_arrays/elements_instanced() are of type void.Michal Krol2010-01-121-15/+15
| | | |
| * | | Merge branch 'master' into instanced-arraysMichal Krol2010-01-053-25/+84
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/tgsi/tgsi_dump.c src/gallium/include/pipe/p_shader_tokens.h
| * | | | gallium: Move instance_divisor field from vertex_buffer to vertex_element.Michal Krol2009-12-291-1/+5
| | | | |
| * | | | gallium: Add interfaces needed for instanced drawing.Michal Krol2009-12-233-1/+19
| | |/ / | |/| |
* | | | gallium: remove forward struct declBrian Paul2010-01-131-4/+0
| | | | | | | | | | | | | | | | | | | | Other struct types (like pipe_texture) are referenced before they're defined so no reason to special-case this one.
* | | | gallium: Rename ALIGN_STACK -> PIPE_ALIGN_STACK for consistency.José Fonseca2010-01-121-3/+3
| | | |
* | | | gallium: Simplify PIPE_ALIGN_VAR.José Fonseca2010-01-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | gcc allows pre-fix variable attributes. Suggested by Ian Romanick.
* | | | gallium: Generalize the alignment macros to other compilers and any alignment.José Fonseca2010-01-121-9/+20
| | | |
* | | | winsys/drm: Add name field to drm_api.Chia-I Wu2010-01-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The name can be used for driver selection. It has the same name as the DRI driver does right now. Signed-off-by: Chia-I Wu <[email protected]>
* | | | gallium: Add PUBLIC macro for function visibility.Chia-I Wu2010-01-111-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | As the default build has -fvisibility=hidden, add a macro to control the visibility. Signed-off-by: Chia-I Wu <[email protected]>
* | | | st/dri: update dri2 drawables when viewport is changedBen Skeggs2010-01-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes gnome-shell on nouveau, as well as window resize with various other applications. Signed-off-by: Ben Skeggs <[email protected]>
* | | | gallium: Remove dead code.José Fonseca2010-01-101-4/+0
| | | |
* | | | gallium: Provide alternative stdint.h and stdbool.h C99 headers, instead of ↵José Fonseca2010-01-101-34/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ad-hoc definitions. Everybody is using the C99's integer types. Everybody except Microsoft, which in turns means everybody is including their own definitions of C99 integer types for MSVC, causing duplicate definitions when linking two projects. This is the case of building Gallium and LLVM with MSVC. Shipping alternative stdint.h and stdbool.h headers for MSVC allows us to share a single definition. It also removes clutter from the Gallium headers.
* | | | gallium: remove PIPE_TEX_FILTER_ANISOLuca Barbieri2010-01-061-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes PIPE_TEX_FILTER_ANISO. Anisotropic filtering is enabled if and only if max_anisotropy > 1.0. Values between 0.0 and 1.0, inclusive, of max_anisotropy are to be considered equivalent, and meaning to turn off anisotropic filtering. This approach has the small drawback of eliminating the possibility of enabling anisotropic filter on either minification or magnification separately, which Radeon hardware seems to support, is currently support by Gallium but not exposed to OpenGL. If this is actually useful it could be handled by splitting max_anisotropy in two values and adding an appropriate OpenGL extension. NOTE: some fiddling & reformatting by keithw to get this patch to apply. Hopefully nothing broken in the process.
* | | | Merge commit 'origin/gallium-draw-retval'Keith Whitwell2010-01-051-14/+14
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | Conflicts: src/gallium/drivers/identity/id_context.c
| * | | gallium: remove return value from draw callsKeith Whitwell2009-12-211-14/+14
| | | |
* | | | gallium: Add UMOD TGSI opcode.Michal Krol2010-01-051-11/+12
| | | | | | | | | | | | | | | | Either that or have UDIV have two destination operands.
* | | | gallium: Add SWITCH, CASE, DEFAULT and ENDSWITCH opcodes to TGSI.Michal Krol2010-01-051-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide reference implementation of them in tgsi_exec. Note that BREAK opcode is overloaded and can be used to break out of either a loop or a switch-case statement.
* | | | gallium: Add signed/unsigned int immediate data types.Michal Krol2010-01-051-0/+4
| | | |
* | | | Remove TGSI_OPCODE_SHR, map existing usage to TGSI_OPCODE_ISHR.Michal Krol2010-01-051-1/+1
| | | | | | | | | | | | | | | | This is to differentiate it from its unsigned version, TGSI_OPCODE_USHR.
* | | | gallium: Add more integer TGSI opcodes.Michal Krol2010-01-051-1/+22
| | | |
* | | | gallium: pipe_context::render_condition() and mode flagsBrian Paul2009-12-312-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For conditional rendering predicated on results of an occlusion query. If this driver function is NULL, conditional rendering is not supported by the driver.
* | | | gallium: remove TGSI_SEMANTIC_VERTICESZack Rusin2009-12-251-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | it's a leftover from an early version of geometry shading support. geometry shaders now encode the primitive size in the PROPERTY token and don't need special input with their size.
* | | | gallium: geometry shader can be always enabled and we don't need a cap for thatZack Rusin2009-12-251-1/+0
| | | | | | | | | | | | | | | | | | | | using the draw module allows us to enable geometry shading even on hardware that doesn't support it.