summaryrefslogtreecommitdiffstats
path: root/src/gallium/include
Commit message (Collapse)AuthorAgeFilesLines
* gallium: add PIPE_SHADER_CAP_SUBROUTINESMarek Olšák2010-11-221-0/+1
| | | | | | | | | | | This fixes piglit/glsl-vs-main-return and glsl-fs-main-return for the drivers which don't support RET (i915g, r300g, r600g, svga). ir_to_mesa does not currently generate subroutines, but it's a matter of time till it's added. It would then break all the drivers which don't implement them, so this CAP makes sense. Signed-off-by: Marek Olšák <[email protected]>
* gallium: Add st_context_iface::share to st_api.Chia-I Wu2010-11-181-0/+6
| | | | | It will be used to implement wglShareLists. Fill st_context_iface::copy for glXCopyContext as well.
* gallium: Add st_api::name.Chia-I Wu2010-11-181-0/+5
| | | | It is the name of the rendering API. This field is informative.
* gallium: Remove redundant sw and debug target helpersJakob Bornecrantz2010-11-171-67/+0
|
* gallium: add CAPs for indirect addressing and lower it in st/mesa when neededMarek Olšák2010-11-121-0/+5
| | | | | | | | | | Required because ATI and NVIDIA DX9 GPUs do not support indirect addressing of temps, inputs, outputs, and consts (FS-only) or the hw support is so limited that we cannot use it. This should make r300g and possibly nvfx more feature complete. Signed-off-by: Marek Olšák <[email protected]>
* graw: Add struct pipe_surface forward declaration.snb-magicVinson Lee2010-11-081-1/+2
| | | | | | | Fixes this GCC warning. graw.h:93: warning: 'struct pipe_surface' declared inside parameter list graw.h:93: warning: its scope is only this definition or declaration, which is probably not what you want
* graw: Export graw_save_surface_to_file().Michal Krol2010-11-081-0/+21
| | | | | | | | | Allows applications to dump surfaces to file without referencing gallium/auxiliary entry points statically. Existing test apps have been modified such that they save the contents of the fronbuffer only when the `-o' option's specified.
* gallium: new CAP, state for primitive restartBrian Paul2010-10-212-0/+7
|
* gallium/format: add X32_S8X24_USCALED format.Dave Airlie2010-10-131-0/+1
| | | | Has similiar use cases to the S8X24 and X24S8 formats.
* gallium/format: add support for X24S8 and S8X24 formats.Dave Airlie2010-10-131-0/+3
| | | | | | these formats are needed for hw that can sample and write stencil values. Signed-off-by: Dave Airlie <[email protected]>
* gallium/tgsi: add support for stencil writes.Dave Airlie2010-10-132-2/+4
| | | | | | this adds the capability + a stencil semantic id, + tgsi scan support. Signed-off-by: Dave Airlie <[email protected]>
* gallium: Define C99 restrict keyword where absent.José Fonseca2010-10-111-0/+21
|
* dri: Pass the __DRIscreen and the __DRIscreen private back to image lookupKristian Høgsberg2010-09-221-1/+0
| | | | | We will typically have a current context when we need to lookup the image, but the lookup implementation don't need it so drop it.
* gallium: avoid the C++ keyword "template" in sw_winsys.hLuca Barbieri2010-09-201-1/+1
|
* gallium: introduce get_shader_param (ALL DRIVERS CHANGED) (v3)Luca Barbieri2010-09-143-30/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in v3: - Also change trace, which I forgot about Changes in v2: - No longer adds tessellation shaders Currently each shader cap has FS and VS versions. However, we want a version of them for geometry, tessellation control, and tessellation evaluation shaders, and want to be able to easily query a given cap type for a given shader stage. Since having 5 duplicates of each shader cap is unmanageable, add a new get_shader_param function that takes both a shader cap from a new enum and a shader stage. Drivers with non-unified shaders will first switch on the shader and, within each case, switch on the cap. Drivers with unified shaders instead first check whether the shader is supported, and then switch on the cap. MAX_CONST_BUFFERS is now per-stage. The geometry shader cap is removed in favor of checking whether the limit of geometry shader instructions is greater than 0, which is also used for tessellation shaders. WARNING: all drivers changed and compiled but only nvfx tested
* gallium: Remove ST_API_OPENGL_ES1 and ST_API_OPENGL_ES2.Chia-I Wu2010-09-101-16/+0
| | | | They are no longer used.
* gallium: Add context profile support to st_api.Chia-I Wu2010-09-101-2/+61
| | | | | | | | | | | | | | | Add struct st_context_attribs to describe context profiles and attributes. Modify st_api::create_context to take the new struct instead of an st_visual. st_context_attribs can be used to support GLX_ARB_create_context_profile and GLX_EXT_create_context_es2_profile in the future. But the motivation for doing it now is to be able to replace ST_API_OPENGL_ES1 and ST_API_OPENGL_ES2 by profiles. Having 3 st_api's to provide OpenGL, OpenGL ES 1.1, and OpenGL ES 2.0 is not a sane abstraction, since all of them share glapi for current context/dispatch management.
* Replace reference to tgsi-instruction-set.txt.Tilman Sauerbeck2010-09-071-1/+1
| | | | | | That file has been replaced by tgsi.rst. Signed-off-by: José Fonseca <[email protected]>
* gallium: Remove unnecessary header from p_state.h.Vinson Lee2010-08-281-1/+0
| | | | Remove p_screen.h.
* gallium: Remove unnecessary header from p_shader_tokens.h.Vinson Lee2010-08-271-2/+0
| | | | Remove p_compiler.h.
* gallium: Remove unnecessary header from p_format.h.Vinson Lee2010-08-271-2/+0
| | | | Remove p_compiler.h.
* graw: Include missing header in graw.h.Vinson Lee2010-08-271-0/+1
| | | | Include p_compiler.h for PUBLIC symbol.
* graw: Add copyright headers to the interfaces.José Fonseca2010-08-261-0/+27
|
* graw: Undo late loading of graw drivers.José Fonseca2010-08-261-153/+0
| | | | | | | | | | Keith prefers a clean separation between graw applications and implementations, where apps do not link libgallium.a but instead get all functionality they need via graw interface. Although this is not incompatible with late loading of graw drivers, it it would make it very hard to maintain, as wrappers for every utility symbol exposed in graw would have to be written or generated somehow.
* gallium: Clean up header file inclusion in p_defines.h.Vinson Lee2010-08-261-1/+1
| | | | | Remove p_format.h. Include p_compiler.h for boolean and uint64_t symbols.
* gallium: Clean up header file inclusion in p_context.h.Vinson Lee2010-08-261-6/+24
| | | | | | Remove p_state.h. Include p_compiler.h for boolean symbol. Add needed forward declarations after removing p_state.h.
* graw: Include missing header in graw_dl.h.Vinson Lee2010-08-261-2/+3
| | | | Include p_state.h for pipe_shader_state symbol.
* graw: Dynamically load graw libraries.José Fonseca2010-08-261-0/+152
| | | | | | | | | This allows to build multiple graws libs simultaneously and avoid unnecessary rebuilds of the tests. Also remove graw_util.c from inside the graw implementation -- it was only being provided by one implementation, and graw tests were linking against gallium anyway.
* p_compiler: add replacement va_copyLuca Barbieri2010-08-211-0/+8
| | | | | | | | | This might technically not always be correct, because va_copy might be a function, or a system might not have va_copy, and not work with assignment. Hopefully this is never the case. Without configure tests, it doesn't seem possible to do better.
* gallium: add PIPE_TEXTURE_RECT targetLuca Barbieri2010-08-201-1/+3
| | | | | | This allows to properly support OpenGL rectangle textures in a well defined way, especially on drivers that don't expose PIPE_CAP_NPOT_TEXTURES.
* gallium: add ALWAYS_INLINELuca Barbieri2010-08-111-0/+10
| | | | | Used when we want to be sure the compiler inlines a large function into an inner loop.
* gallium: Keep only pipe_context::draw_vbo.Chia-I Wu2010-07-291-41/+0
| | | | | | | That is, remove pipe_context::draw_arrays, pipe_context::draw_elements, pipe_context::draw_arrays_instanced, pipe_context::draw_elements_instanced, pipe_context::draw_range_elements.
* gallium: Add pipe_context::draw_vbo and pipe_context::set_index_buffer.Chia-I Wu2010-07-292-0/+41
| | | | | | This commit adds a new unified draw_vbo method to pipe_context. Unlike other draw methods, draw_vbo treats the index buffer as a state which is set with set_index_buffer.
* gallium: add depth clamp to the interfaceMarek Olšák2010-07-212-1/+3
|
* gallium: remove pointless bitfield restrction in pipe_vertex_elementKeith Whitwell2010-07-211-1/+1
| | | | | This used to be a somewhat packed struct, but no longer. Remove the last remaining bitfield tag.
* gallium: Ensure prototypes are wrapped in extern "C".José Fonseca2010-07-141-0/+11
| | | | | Fixes MSVC build failure due to inconsistent _ReadWriteBarrier prototype.
* gallium: Add a macro for memory barriers.José Fonseca2010-07-141-0/+19
|
* gallium: Add a new PIPE_ARCH_SSSE3 define for SSSE3 compiler support.José Fonseca2010-07-141-0/+5
|
* gallium: bump PIPE_MAX_SHADER_INPUTS/OUTPUTS to 32Brian Paul2010-07-081-2/+2
|
* st_api: Remove st_context::is_visual_supported.Chia-I Wu2010-06-291-6/+0
| | | | | | | | The callback is used by st/vega to check if a visual specifies the depth/stencil format. It forces st/vega to be loaded by st/egl to perform the check. As noted in EGL spec, the depth/stencil format of a visual should not affect OpenVG. It should be better to ignore the field and always allocate the depth/stencil texture.
* mesa: initial support for ARB_geometry_shader4Zack Rusin2010-06-281-1/+3
| | | | | | laying down the foundation for everything and implementing most of the stuff. linking, gl_VerticesIn and multidimensional inputs are left.
* Merge branch 'gallium-drm-driver-drescriptor'Jakob Bornecrantz2010-06-282-57/+71
|\ | | | | | | | | | | | | | | | | Conflicts: src/gallium/state_trackers/egl/x11/native_dri2.c src/gallium/state_trackers/egl/x11/native_x11.c src/gallium/state_trackers/egl/x11/native_x11.h src/gallium/state_trackers/xorg/xorg_driver.c src/gallium/winsys/radeon/drm/radeon_drm.c
| * gallium: Remove drm_api and all references to itJakob Bornecrantz2010-06-241-57/+0
| |
| * gallium: Add drm driver interfaceJakob Bornecrantz2010-06-061-0/+71
| | | | | | | | | | | | | | This interfacre replaces the drm_api api it works very much the same way as drm_api but with the exception that its meant for the target to implement it. And it does not export a get function and neither a destroy function.
* | pipe: Add PIPE_OS_HURDnobled2010-06-241-0/+5
| | | | | | | | | | | | | | One tiny step toward porting Gallium to the GNU/Hurd kernel (and fixing Debian bug #585618). Signed-off-by: Corbin Simpson <[email protected]>
* | gallium: add a timestamp disjoint queryZack Rusin2010-06-221-1/+7
| | | | | | | | | | | | allows application to not only request the frequency of the TIME_ELAPSED clock but also to detect if that frequency was consistent throughout the entire bracketed range of graphics commands.
* | gallium: add a new queryZack Rusin2010-06-221-1/+2
| | | | | | | | to figure out if gpu is finished with all of the previously issues commands
* | gallium: add a temporary array register fileZack Rusin2010-06-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | like normal temporaries, but allows to define a number of distinct arrays, all of which make it explicit that they contain /indexable/ registers. as a side-effect we're adding support for multi-dimensional destination registers. The whole thing looks like this: DCL TEMPX[0][0..128] # 0 array with 128 registers ADD TEMPX[0][0], IN[0], IMM[0] ADD TEMPX[0][1], IN[0], IMM[0] ABS OUT[0], TEMPX[0][TEMP[0]]
* | gallium: add a new register file - immediate arrayZack Rusin2010-06-181-12/+13
| | | | | | | | | | | | allows one to specify a safe (bound checked) array filled with immediates. it works just like a const array and declares much like our current immediates.
* | gallium/softpipe/draw: support samplers in geometry shadersZack Rusin2010-06-112-0/+8
| |