summaryrefslogtreecommitdiff
path: root/src/gallium/include
AgeCommit message (Collapse)Author
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
2010-01-05gallium: Add UMOD TGSI opcode.Michal Krol
Either that or have UDIV have two destination operands.
2010-01-05gallium: Add SWITCH, CASE, DEFAULT and ENDSWITCH opcodes to TGSI.Michal Krol
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-05gallium: Add signed/unsigned int immediate data types.Michal Krol
2010-01-05Remove TGSI_OPCODE_SHR, map existing usage to TGSI_OPCODE_ISHR.Michal Krol
This is to differentiate it from its unsigned version, TGSI_OPCODE_USHR.
2010-01-05gallium: Add more integer TGSI opcodes.Michal Krol
2009-12-31gallium: pipe_context::render_condition() and mode flagsBrian Paul
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-25gallium: remove TGSI_SEMANTIC_VERTICESZack Rusin
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-25gallium: geometry shader can be always enabled and we don't need a cap for thatZack Rusin
using the draw module allows us to enable geometry shading even on hardware that doesn't support it.
2009-12-25util: put vertices_per_primitive function in its proper locationZack Rusin
2009-12-25gallium: add an inline that returns number of vertices per primitiveZack Rusin
2009-12-25gallium: add geometry shader support to galliumZack Rusin
2009-12-22Merge branch 'gallium-edgeflags'Roland Scheidegger
Conflicts: src/mesa/state_tracker/st_draw.c
2009-12-21gallium: remove return value from draw callsKeith Whitwell
2009-12-17Move the remaining format pf_get_* functions to u_format.h.Michal Krol
Previously they depended on format blocks, but after removing those they started depending on format encoding.
2009-12-17Merge branch 'master' into pipe-format-simplifyMichal Krol
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-15pipe: add PIPE_MAX_TEXTURE_TYPESMarek Olšák
2009-12-14tgsi: add properties and system value registerZack Rusin
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-11gallium: added comment for pipe_reference() return valueBrian Paul
2009-12-09gallium: first steps to treat edgeflags as regular vertex elementKeith Whitwell
The idea here is to eliminate the set_edgeflags() call in pipe_context by treating edgeflags as a regular vertex element. Edgeflags provoke special treatment in hardware, which means we need to label them in some way, in this case we'll be passing them through the vertex shader and labelling the vertex shader output with a new TGSI semantic (TGSI_SEMANTIC_EDGEFLAG).
2009-12-08gallium: use boolean instead of bool in p_refcnt.hRoland Scheidegger
all code in gallium should use boolean not bool
2009-12-08Merge branch 'gallium-strict-aliasing'Roland Scheidegger
2009-12-08gallium: Make pipe_format a sequential enum.Michal Krol
2009-12-08Remove remaining pipe format utility functions.Michal Krol
Depricate pf_type(), pf_size_*(), pf_layout() and pf_exp2(). Map depricated PIPE_FORMAT_TYPE to new UTIL_FORMAT_ values: UNKNOWN = TYPE_VOID UNORM = TYPE_UNSIGNED + LAYOUT_ARITH SNORM = TYPE_SIGNED + LAYOUT_ARITH FIXED = TYPE_FIXED FLOAT = TYPE_FLOAT USCALED = TYPE_UNSIGNED + LAYOUT_ARRAY SSCALED = TYPE_SIGNED + LAYOUT_ARRAY SRGB = TYPE_COLORSPACE_SRGB
2009-12-04gallium: Disable force_align_arg_pointer attribute on x86_64.José Fonseca
Apparently not only unnecessary but also causes gcc to complain.
2009-12-04Merge branch 'gallium-noblocks'Roland Scheidegger
Conflicts: src/gallium/state_trackers/xorg/xorg_exa.c
2009-12-03gallium: fix reference counting functions to be strict-aliasing compliantRoland Scheidegger
Historically, parts of mesa code are not strict-aliasing safe, hence -fno-strict-aliasing is needed to compile (this got forgotten for scons builds for gallium, which indeed not only caused compiler warnings but also unexplicable crashes in non-debug builds). However, we should try to eliminate code not complying with strict-aliasing code at least for gallium. Hence change pipe_reference functions to make them strict-aliasing compliant. This adds a bit more complexity (especially for derived classes) but is the right thing to do, and it does in fact fix a segfault.
2009-12-03Remove pf_swizzle_* internal macros.Michal Krol
2009-12-03gallium: Remove pf_mixed_*().Michal Krol
2009-12-03gallium: Remove pf_rev().Michal Krol
2009-12-03Move pf_get_component_bits() to u_format auxiliary module.Michal Krol
2009-12-03Move pf_get_bits/size() to u_format auxiliary module.Michal Krol
2009-12-03Move pf_get_block() to u_format auxiliary module.Michal Krol
2009-12-03Move pf_is_depth_and_stencil() to u_format auxiliary module.Michal Krol
2009-12-03Move pf_is_depth_stencil() to u_format auxiliary module.Michal Krol
2009-12-03Move pf_is_compressed() to u_format auxiliary module.Michal Krol
2009-12-03gallium: Remove unused format functions.Michal Krol
2009-12-02gallium/util: added PIPE_CC_GCC_VERSION symbolBrian Paul
2009-12-01Merge commit 'origin/tgsi-simplify-ext'Keith Whitwell
Conflicts: src/gallium/drivers/r300/r300_vs.c
2009-12-01gallium: Introduce separate vertex texture/sampler state.Michal Krol
Previously, gallium shared sampler and texture state between vertex and fragment shader stages. This change generalises this concept by providing separate entrypoints for vertex and fragment sampler state setting. A new capability bit is added to query the driver for the number of samplers that can be utilised by a vertex and fragment shader at the same time.
2009-11-30gallium: interface cleanups, remove nblocksx/y from pipe_texture and moreRoland Scheidegger
This patch removes nblocksx, nblocksy arrays from pipe_texture (can be recalculated if needed). Furthermore, pipe_format_block struct is gone completely (again, contains just derived state). nblocksx, nblocksy, block are also removed from pipe_transfer, together with the format enum (can be obtained from the texture associated with the transfer).
2009-11-27Merge branch 'width0'Roland Scheidegger
Conflicts: src/gallium/drivers/r300/r300_texture.c src/gallium/state_trackers/xorg/xorg_exa.c src/mesa/state_tracker/st_cb_texture.c
2009-11-27gallium: Remove tgsi_version token.Michal Krol
Not really needed, never served its purpose.
2009-11-24tgsi: reduce repetition of structure name in its membersKeith Whitwell
Rename Semantic.SemanticName to Semantic.Name. Similar for SemanticIndex, and the members of the tgsi_version struct.
2009-11-24gallium: simplify tgsi tokens furtherKeith Whitwell
Drop anonymous 'Extended' fields, have every optional token named explicitly in its parent. Eg. there is now an Instruction.Label flag, etc. Drop destination modifiers and other functionality which cannot be generated by tgsi_ureg.c, which is now the primary way of creating shaders. Pull source modifiers into the source register token, drop the second negate flag. The source register token is now full - if we need to expand it, probably best to move all of the modifiers to a new token and have a single flag for it.