summaryrefslogtreecommitdiff
path: root/src/gallium/include
AgeCommit message (Collapse)Author
2010-02-04gallium: add point_quad_rasterization bit to rasterizer stateRoland Scheidegger
This determines if points should be rasterized according to GL point rules or as normal quads (GL point sprites / d3d points / d3d point sprites).
2010-02-04gallium: Add a define for deprecated function attribute.José Fonseca
2010-02-04gallium: Don't try to auto-detect the OS when embedded os is already ↵José Fonseca
pre-defined.
2010-02-03gallium: clean up point sprite rasterizer stateRoland Scheidegger
Don't need sprite coord origin per coord. Also, don't need separate sprite enable bit - if all coords have it diabled, then there are no point sprites (technically, there's a distinction in pre-GL3, but it only differs in having more leniency in clamping to max size, something the state tracker would need to handle and the hardware won't bother anyway). Also, use packed field for the per-coord enables. All in all, should save 3 dwords in rasterizer state (from 10 down to 7).
2010-02-02gallium: Move some compiler portability stuff into p_compiler.hJosé Fonseca
2010-02-02gallium: Move deprecated pipe/internal/p_winsys_screen.h inside ↵José Fonseca
util/u_simple_screen.h
2010-02-02gallium: Move p_thread.h and p_atomic.h out of gallium interfaces.José Fonseca
Into os/os_thread.h and util/u_atomic.h respectively.
2010-02-02gallium: Make pipe_atomic a regular int32_t.José Fonseca
2010-02-02gallium: pipe/p_inlines.h -> util/u_inlines.hJosé Fonseca
2010-02-01gallium: Use MSVC atomic intrinsics directly instead of the Windows header ↵José Fonseca
wrappers.
2010-02-01gallium: Remove unnecessary includes. Add others to compensate.José Fonseca
2010-02-01gallium: Drop mutex-based pipe_atomic implementation.José Fonseca
First step to severe the dependency in OS abstractions from the Gallium interfaces.
2010-01-29gallium: document pipe_context::get_query_result()Brian Paul
2010-01-29tgsi: add caps for fragment coord conventions (v3)Luca Barbieri
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.
2010-01-29tgsi: add properties for fragment coord conventions (v3)Luca Barbieri
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.
2010-01-28Merge commit 'origin/perrtblend'Roland Scheidegger
Conflicts: src/gallium/drivers/softpipe/sp_screen.c src/gallium/include/pipe/p_defines.h
2010-01-28gallium: remove PIPE_CAP_S3TC, and add PIPE_CAP_DUAL_SOURCE_BLENDRoland Scheidegger
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).
2010-01-28gallium: Add CAPs for constant buffers.Michal Krol
2010-01-28gallium: Rename PIPE_MAX_CONSTANT to PIPE_MAX_CONSTANT_BUFFERS.Michal Krol
2010-01-28gallium: Add tgsi_declaration_dimension token.Michal Krol
This will allow us to declare two-dimensional constant buffers.
2010-01-26Check for __USE_MISC for defining uint & ushortAlan Hourihane
2010-01-22Merge branch 'mesa_7_7_branch'Brian Paul
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
2010-01-21gallium: New inline to write buffers which avoids synchronization.José Fonseca
2010-01-21gallium: Set PIPE_BUFFER_USAGE_DISCARD flag in pipe_buffer_write.José Fonseca
2010-01-21gallium: Remove temporary hack for the absence of a discard flag.José Fonseca
PIPE_BUFFER_USAGE_DISCARD flag now exists.
2010-01-21docs: clean up sampler descriptionRoland Scheidegger
2010-01-21gallium: fix conditional rendering commentBrian Paul
2010-01-21gallium: new PIPE_CAP bits for the independent blend functionalityRoland Scheidegger
2010-01-21gallium: updated comments, whitespace fixesBrian Paul
2010-01-20gallium: prepare for per-rendertarget blend enables, writemasks, blend funcsRoland Scheidegger
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.
2010-01-19Sun compilers now support some gcc __attribute__ valuesAlan Coopersmith
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 <alan.coopersmith@sun.com> Signed-off-by: Brian Paul <brianp@vmware.com>
2010-01-19st/drm: Expose kernel driver nameJakob Bornecrantz
Based on patch by Chia-I Wu <olvaffe@gmail.com> Expose the name of the kernel driver as accepted by drmOpenByName.
2010-01-19st/dri: update dri2 drawables when viewport is changedBen Skeggs
Fixes gnome-shell on nouveau, as well as window resize with various other applications. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-01-17gallium: Support swig "compiler" in p_compiler.hJakob Bornecrantz
2010-01-15Merge branch 'gallium-noconstbuf'Roland Scheidegger
Conflicts: src/gallium/drivers/softpipe/sp_draw_arrays.c src/mesa/state_tracker/st_draw_feedback.c
2010-01-14Merge branch 'instanced-arrays'Michal Krol
Conflicts: src/gallium/drivers/softpipe/sp_draw_arrays.c
2010-01-13gallium: remove forward struct declBrian Paul
Other struct types (like pipe_texture) are referenced before they're defined so no reason to special-case this one.
2010-01-12gallium: draw_arrays/elements_instanced() are of type void.Michal Krol
2010-01-12gallium: remove point_size_min and point_size_max from rasterizer stateRoland Scheidegger
The state tracker is responsible for clamping to any graphics API enforced size min/max limits for both the static point_size setting as well as per vertex point size (in the vertex shader). Note that mesa state tracker didn't actually use these values.
2010-01-12gallium: Rename ALIGN_STACK -> PIPE_ALIGN_STACK for consistency.José Fonseca
2010-01-12gallium: Simplify PIPE_ALIGN_VAR.José Fonseca
gcc allows pre-fix variable attributes. Suggested by Ian Romanick.
2010-01-12gallium: Generalize the alignment macros to other compilers and any alignment.José Fonseca
2010-01-12winsys/drm: Add name field to drm_api.Chia-I Wu
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 <olvaffe@gmail.com>
2010-01-11gallium: remove const qualifier from pipe_buffer argument in set_constant_bufferRoland Scheidegger
2010-01-11gallium: Add PUBLIC macro for function visibility.Chia-I Wu
As the default build has -fvisibility=hidden, add a macro to control the visibility. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-11st/dri: update dri2 drawables when viewport is changedBen Skeggs
Fixes gnome-shell on nouveau, as well as window resize with various other applications. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-01-10gallium: Remove dead code.José Fonseca
2010-01-10gallium: Provide alternative stdint.h and stdbool.h C99 headers, instead of ↵José Fonseca
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.
2010-01-06gallium: remove PIPE_TEX_FILTER_ANISOLuca Barbieri
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.
2010-01-05Merge commit 'origin/gallium-draw-retval'Keith Whitwell
Conflicts: src/gallium/drivers/identity/id_context.c