José Fonseca
a8477fb00c
gallium: New inline to write buffers which avoids synchronization.
2010-01-21 15:18:40 -08:00
José Fonseca
707b28136f
gallium: Set PIPE_BUFFER_USAGE_DISCARD flag in pipe_buffer_write.
2010-01-21 15:18:40 -08:00
José Fonseca
13c2475339
gallium: Remove temporary hack for the absence of a discard flag.
...
PIPE_BUFFER_USAGE_DISCARD flag now exists.
2010-01-21 15:18:40 -08:00
Roland Scheidegger
c6c9d3b091
docs: clean up sampler description
2010-01-21 20:22:24 +01:00
Brian Paul
d65d5d2993
gallium: fix conditional rendering comment
2010-01-21 11:52:54 -07:00
Roland Scheidegger
41667a9a3e
gallium: new PIPE_CAP bits for the independent blend functionality
2010-01-21 19:45:43 +01:00
Brian Paul
6d4805b363
gallium: updated comments, whitespace fixes
2010-01-21 11:35:33 -07:00
Roland Scheidegger
bef610f693
gallium: prepare for per-rendertarget blend enables, writemasks, blend funcs
...
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-20 18:26:49 +01:00
Alan Coopersmith
a7aaf052f9
Sun compilers now support some gcc __attribute__ values
...
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-19 10:15:55 -08:00
Jakob Bornecrantz
a5fb5d6a54
st/drm: Expose kernel driver name
...
Based on patch by Chia-I Wu <olvaffe@gmail.com>
Expose the name of the kernel driver as accepted by drmOpenByName.
2010-01-19 17:10:04 +01:00
Ben Skeggs
116a02be22
st/dri: update dri2 drawables when viewport is changed
...
Fixes gnome-shell on nouveau, as well as window resize with various
other applications.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-01-19 17:06:22 +01:00
Jakob Bornecrantz
876a6b4865
gallium: Support swig "compiler" in p_compiler.h
2010-01-17 16:44:39 +00:00
Roland Scheidegger
5e5d0ad081
Merge branch 'gallium-noconstbuf'
...
Conflicts:
src/gallium/drivers/softpipe/sp_draw_arrays.c
src/mesa/state_tracker/st_draw_feedback.c
2010-01-15 18:09:45 +01:00
Michal Krol
5184b02b07
Merge branch 'instanced-arrays'
...
Conflicts:
src/gallium/drivers/softpipe/sp_draw_arrays.c
2010-01-14 18:11:41 +01:00
Brian Paul
8519b244f7
gallium: remove forward struct decl
...
Other struct types (like pipe_texture) are referenced before they're
defined so no reason to special-case this one.
2010-01-13 17:39:44 -07:00
Michal Krol
8c53a2576e
gallium: draw_arrays/elements_instanced() are of type void.
2010-01-12 18:51:27 +01:00
Roland Scheidegger
a407636efb
gallium: remove point_size_min and point_size_max from rasterizer state
...
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-12 15:54:13 +01:00
José Fonseca
26c78a4968
gallium: Rename ALIGN_STACK -> PIPE_ALIGN_STACK for consistency.
2010-01-12 12:15:24 +00:00
José Fonseca
5dfd5ed5e7
gallium: Simplify PIPE_ALIGN_VAR.
...
gcc allows pre-fix variable attributes.
Suggested by Ian Romanick.
2010-01-12 12:11:04 +00:00
José Fonseca
86bfe974b8
gallium: Generalize the alignment macros to other compilers and any alignment.
2010-01-12 12:11:04 +00:00
Chia-I Wu
6dafd61ab2
winsys/drm: Add name field to drm_api.
...
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-12 10:55:36 +08:00
Roland Scheidegger
70c8d2a297
gallium: remove const qualifier from pipe_buffer argument in set_constant_buffer
2010-01-11 16:30:48 +01:00
Chia-I Wu
108c2bf5ab
gallium: Add PUBLIC macro for function visibility.
...
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-11 10:04:37 -05:00
Ben Skeggs
32da02f7c1
st/dri: update dri2 drawables when viewport is changed
...
Fixes gnome-shell on nouveau, as well as window resize with various
other applications.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-01-11 11:44:38 +10:00
José Fonseca
74f520861f
gallium: Remove dead code.
2010-01-10 10:44:25 +00:00
José Fonseca
dc6bcc92ee
gallium: Provide alternative stdint.h and stdbool.h C99 headers, instead of 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-10 10:39:29 +00:00
Luca Barbieri
f023473748
gallium: remove PIPE_TEX_FILTER_ANISO
...
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-06 10:35:47 +00:00
Keith Whitwell
c727fa6dbf
Merge commit 'origin/gallium-draw-retval'
...
Conflicts:
src/gallium/drivers/identity/id_context.c
2010-01-05 14:13:40 +00:00
Michal Krol
9b21b3c52a
Merge branch 'master' into instanced-arrays
...
Conflicts:
src/gallium/auxiliary/tgsi/tgsi_dump.c
src/gallium/include/pipe/p_shader_tokens.h
2010-01-05 11:04:50 +01:00
Michal Krol
c34f6faf35
gallium: Add UMOD TGSI opcode.
...
Either that or have UDIV have two destination operands.
2010-01-05 09:28:27 +01:00
Michal Krol
062aab96e0
gallium: Add SWITCH, CASE, DEFAULT and ENDSWITCH opcodes to TGSI.
...
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.
2010-01-05 09:28:25 +01:00
Michal Krol
b1c55e80aa
gallium: Add signed/unsigned int immediate data types.
2010-01-05 09:27:08 +01:00
Michal Krol
2c046034dc
Remove TGSI_OPCODE_SHR, map existing usage to TGSI_OPCODE_ISHR.
...
This is to differentiate it from its unsigned version, TGSI_OPCODE_USHR.
2010-01-05 09:26:48 +01:00
Michal Krol
c59eda0993
gallium: Add more integer TGSI opcodes.
2010-01-05 09:26:43 +01:00
Brian Paul
c0b4fb06b8
gallium: pipe_context::render_condition() and mode flags
...
For conditional rendering predicated on results of an occlusion query.
If this driver function is NULL, conditional rendering is not supported by
the driver.
2009-12-31 14:45:15 -07:00
Michal Krol
f7d1689cfa
gallium: Move instance_divisor field from vertex_buffer to vertex_element.
2009-12-29 19:18:54 +01:00
Zack Rusin
fb0a9aa5e0
gallium: remove TGSI_SEMANTIC_VERTICES
...
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.
2009-12-25 05:52:20 -05:00
Zack Rusin
519a6d308d
gallium: geometry shader can be always enabled and we don't need a cap for that
...
using the draw module allows us to enable geometry shading even on hardware
that doesn't support it.
2009-12-25 05:52:20 -05:00
Zack Rusin
a00da63e66
util: put vertices_per_primitive function in its proper location
2009-12-25 05:52:19 -05:00
Zack Rusin
f658fa5e8f
gallium: add an inline that returns number of vertices per primitive
2009-12-25 05:52:18 -05:00
Zack Rusin
89d8577fb3
gallium: add geometry shader support to gallium
2009-12-25 05:52:16 -05:00
Roland Scheidegger
beb712ee9a
gallium: API cleanup, remove pointless pipe_constant_buffer
2009-12-23 20:42:55 +01:00
Michal Krol
d0b55120be
gallium: Add interfaces needed for instanced drawing.
2009-12-23 19:37:18 +01:00
Roland Scheidegger
35e8283c69
Merge branch 'gallium-edgeflags'
...
Conflicts:
src/mesa/state_tracker/st_draw.c
2009-12-22 20:54:26 +01:00
Keith Whitwell
09e785ee04
gallium: remove return value from draw calls
2009-12-21 22:14:35 +00:00
Michal Krol
b1ed72ebe2
Move the remaining format pf_get_* functions to u_format.h.
...
Previously they depended on format blocks, but after removing those
they started depending on format encoding.
2009-12-17 23:41:57 +01:00
Michal Krol
16c6dce013
Merge branch 'master' into pipe-format-simplify
...
Conflicts:
src/gallium/auxiliary/draw/draw_pipe_aaline.c
src/gallium/auxiliary/draw/draw_pipe_pstipple.c
src/gallium/auxiliary/util/u_blit.c
src/gallium/auxiliary/util/u_gen_mipmap.c
src/gallium/auxiliary/util/u_surface.c
src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c
src/gallium/drivers/cell/ppu/cell_texture.c
src/gallium/drivers/llvmpipe/lp_texture.c
src/gallium/drivers/r300/r300_emit.c
src/gallium/drivers/r300/r300_texture.c
src/gallium/drivers/softpipe/sp_texture.c
src/gallium/drivers/softpipe/sp_tile_cache.c
src/gallium/drivers/svga/svga_state_vs.c
src/gallium/include/pipe/p_format.h
src/gallium/state_trackers/dri/dri_drawable.c
src/gallium/state_trackers/egl/egl_surface.c
src/gallium/state_trackers/python/p_device.i
src/gallium/state_trackers/python/st_softpipe_winsys.c
src/gallium/state_trackers/vega/api_filters.c
src/gallium/state_trackers/vega/image.c
src/gallium/state_trackers/vega/mask.c
src/gallium/state_trackers/vega/paint.c
src/gallium/state_trackers/vega/renderer.c
src/gallium/state_trackers/vega/vg_tracker.c
src/gallium/state_trackers/xorg/xorg_crtc.c
src/gallium/state_trackers/xorg/xorg_dri2.c
src/gallium/state_trackers/xorg/xorg_exa.c
src/gallium/state_trackers/xorg/xorg_renderer.c
src/gallium/state_trackers/xorg/xorg_xv.c
src/gallium/state_trackers/xorg/xvmc/surface.c
src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c
src/gallium/winsys/drm/radeon/core/radeon_buffer.c
src/gallium/winsys/egl_xlib/sw_winsys.c
src/gallium/winsys/g3dvl/xlib/xsp_winsys.c
src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c
src/gallium/winsys/gdi/gdi_softpipe_winsys.c
src/gallium/winsys/xlib/xlib_cell.c
src/gallium/winsys/xlib/xlib_llvmpipe.c
src/gallium/winsys/xlib/xlib_softpipe.c
src/mesa/state_tracker/st_cb_fbo.c
src/mesa/state_tracker/st_cb_texture.c
src/mesa/state_tracker/st_texture.c
2009-12-17 22:37:15 +01:00
Marek Olšák
e1d0f47808
pipe: add PIPE_MAX_TEXTURE_TYPES
2009-12-15 18:00:39 +00:00
Zack Rusin
3ff688ea29
tgsi: add properties and system value register
...
adds support for properties to all parts of the tgsi framework, plus
introduces a new register which will be used for system generated
values.
2009-12-14 16:35:09 -05:00
Brian Paul
4430a05a3a
gallium: added comment for pipe_reference() return value
2009-12-11 16:50:25 -07:00