summaryrefslogtreecommitdiff
path: root/src/gallium/docs/source/screen.rst
AgeCommit message (Collapse)AuthorFilesLines
2015-07-16gallium: add BIND flags for R/W buffers and imagesMarek Olšák1-2/+4
PIPE_CAPs and TGSI support will be added later. The TGSI support should be straightforward. We only need to split TGSI_FILE_RESOURCE into TGSI_FILE_IMAGE and TGSI_FILE_BUFFER, though duplicating all opcodes shouldn't be necessary. The idea is: * ARB_shader_image_load_store should use set_shader_images. * ARB_shader_storage_buffer_object should use set_shader_buffers(slots 0..M-1) if M shader storage buffers are supported. * ARB_shader_atomic_counters should use set_shader_buffers(slots M..N) if N-M+1 atomic counter buffers are supported. PIPE_CAPs can describe various constraints for early DX11 hardware. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2015-07-16gallium: add PIPE_CAP_MAX_SHADER_PATCH_VARYINGSMarek Olšák1-0/+4
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2015-06-29gallium: add PIPE_COMPUTE_CAP_SUBGROUP_SIZEGrigori Goronzy1-0/+2
We need this to implement OpenCL's CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE. Reviewed-by: Francisco Jerez <currojerez@riseup.net>
2015-06-05tgsi/ureg: don't emit in/out arrays if drivers don't support ranged declarationsMarek Olšák1-0/+2
Softpipe, llvmpipe, r300g, and radeonsi pass tests. Other drivers need testing. Freedreno and nv30 are definitely broken. Other drivers seem to be alright.
2015-05-12gallium: add PIPE_CAP_DEVICE_RESET_STATUS_QUERYMarek Olšák1-0/+2
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2015-05-06gallium: add pipe_screen::get_driver_query_group_infoSamuel Pitoiset1-0/+10
Driver queries are organized as a single hierarchy where queries are categorized into groups. Each group has a list of queries and a maximum number of queries that can be sampled. The list of available groups can be obtained using pipe_screen::get_driver_query_group_info. This will be used by GL_AMD_performance monitor. v2: add group type (CPU/GPU) Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Martin Peres <martin.peres@free.fr>
2015-03-23gallium: introduce get_device_vendor() entrypoint for pipesGiuseppe Bilotta1-0/+6
This will be needed by Clover to return the correct information to CL_DEVICE_VENDOR info queries. Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2015-03-16gallium: add FMA and DFMA opcodes (v3)Marek Olšák1-0/+2
Needed by ARB_gpu_shader5. v2: select DMAD for FMA with double precision v3: add and select DFMA Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2015-02-19gallium: add shader cap for dldexp/dfracexp supportIlia Mirkin1-0/+2
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Dave Airlie <airlied@redhat.com>
2015-02-19gallium: add a cap to enable double rounding opcodesIlia Mirkin1-0/+2
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Dave Airlie <airlied@redhat.com>
2015-02-17gallium: add interface and state tracker support for GL_AMD_pinned_memoryMarek Olšák1-0/+6
v2: add alignment restrictions to docs, fix indentation in headers Reviewed-by: Christian König <christian.koenig@amd.com>
2015-02-06gallium: Add MULTISAMPLE_Z_RESOLVE capAxel Davy1-0/+3
Resolving a multisampled depth texture into a single sampled texture is supported on >= SM4.1 hw. It is possible some previous hw support it. The ability was tested on radeonsi and nvc0. Apparently is is also supported for radeon >= r700. This patch adds the MULTISAMPLE_Z_RESOLVE cap and add it to the drivers. It is advertised for drivers for which it is sure the ability is supported. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Axel Davy <axel.davy@ens.fr>
2015-02-02gallium: add a cap to determine whether the driver supports offset_clampIlia Mirkin1-0/+2
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Glenn Kennard <glenn.kennard@gmail.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2014-12-16gallium: add TGSI_SEMANTIC_VERTEXID_NOBASE and TGSI_SEMANTIC_BASEVERTEXRoland Scheidegger1-0/+8
Plus a new PIPE_CAP_VERTEXID_NOBASE query. The idea is that drivers not supporting vertex ids with base vertex offset applied (so, only support d3d10-style vertex ids) will get such a d3d10-style vertex id instead - with the caveat they'll also need to handle the basevertex system value too (this follows what core mesa already does). Additionally, this is also useful for other state trackers (for instance llvmpipe / draw right now implement the d3d10 behavior on purpose, but with different semantics it can just do both). Doesn't do anything yet. And fix up the docs wrt similar values. v2: incorporate feedback from Brian and others, better names, better docs. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2014-10-24gallium: introduce PIPE_CAP_CLIP_HALFZ.Mathias Fröhlich1-0/+3
In preparation of ARB_clip_control. Let the driver decide if it supports pipe_rasterizer_state::clip_halfz being set to true. v3: Initially enable on ilo. Reviewed-by: Roland Scheidegger <sroland@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Mathias Froehlich <Mathias.Froehlich@web.de
2014-10-21gallium: add PIPE_SHADER_CAP_MAX_OUTPUTS and use it in st/mesaMarek Olšák1-0/+2
With 5 shader stages and various combinations of enabled and disabled shaders, the maximum number of outputs in one shader doesn't have to be equal to the maximum number of inputs in the following shader. v2: return 32 for softpipe and llvmpipe
2014-10-16gallium: Add PIPE_SHADER_IR_NATIVE to enum pipe_shader_irTom Stellard1-2/+2
Drivers can return this value for PIPE_COMPUTE_CAP_IR_TARGET if they want clover to give them native object code. Reviewed-by: Francisco Jerez <currojerez@riseup.net>
2014-09-30gallium: add doc note about cube textures and can_create_resource()Brian Paul1-0/+2
Just to be clear, and echo the description for resource_create(). Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2014-09-12gallium: add a texture target to sampler view and a CAP to use itIlia Mirkin1-0/+4
This allows a sampler view to have a different texture target than the underlying resource. This will be used to implement the type casting between 2d arrays and cube maps as specified in ARB_texture_view. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2014-08-27gallium: add cap for MAX_VERTEX_ATTRIB_STRIDETimothy Arceri1-0/+1
Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2014-08-19gallium: Add and handle PIPE_CAP_CONDITIONAL_RENDER_INVERTEDTobias Klausmann1-0/+2
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de>
2014-08-15gallium: add GLX_MESA_query_renderer capsEmil Velikov1-0/+8
Namely vendor/device id, accelerated and UMA, which will be used to describe the underlying renderer. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2014-08-14gallium: add opcodes/cap for fine derivative supportIlia Mirkin1-0/+2
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com> (v1) Reviewed-by: Roland Scheidegger <sroland@vmware.com> (v1) v2: Reuse opcode gaps as suggested by Marek
2014-08-11gallium: remove PIPE_SHADER_CAP_MAX_ADDRSMarek Olšák1-1/+0
This limit is fixed in Mesa core and cannot be changed. It only affects ARB_vertex_program and ARB_fragment_program. The minimum value for ARB_vertex_program is 1 according to the spec. The maximum value for ARB_vertex_program is limited to 1 by Mesa core. The value should be zero for ARB_fragment_program, because it doesn't support ARL. Finally, drivers shouldn't mess with these values arbitrarily. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2014-07-28gallium: rename shader cap MAX_CONSTS to MAX_CONST_BUFFER_SIZEMarek Olšák1-1/+1
This new name isn't so confusing. I also changed the gallivm limit, because it looked wrong. Reviewed-by: Brian Paul <brianp@vmware.com> v2: use sizeof(float[4])
2014-07-25gallium: Add PIPE_CAP_COMPUTE_IMAGES_SUPPORTEDTom Stellard1-0/+2
Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Francisco Jerez <currojerez@riseup.net>
2014-07-03gallium: rename PIPE_CAP_TGSI_VS_LAYER to also have _VIEWPORTIlia Mirkin1-2/+4
Now that this cap is used to determine the availability of both, adjust its name to reflect the new reality. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2014-07-02gallium: Add PIPE_SHADER_CAP_DOUBLESTom Stellard1-0/+2
This is for reporting whether or not double precision floating-point operations are supported. Reviewed-by: Francisco Jerez <currojerez@riseup.net>
2014-07-02gallium: add facilities for indirect drawingChristoph Bumiller1-0/+3
v2: Added comments to util_draw_indirect, clarified and fixed map size. Removed unlikely().
2014-07-02gallium: add PIPE_BIND_COMMAND_ARGS_BUFFERChristoph Bumiller1-0/+3
Intended for use with GL_ARB_draw_indirect's DRAW_INDIRECT_BUFFER target or for D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS.
2014-07-01gallium: add a cap for max vertex streamsIlia Mirkin1-0/+3
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2014-06-12gallium: Add PIPE_COMPUTE_CAP_MAX_COMPUTE_UNITSBruno Jiménez1-0/+2
Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Francisco Jerez <currojerez@riseup.net>
2014-06-02gallium: create TGSI_PROPERTY to disable viewport and clippingChristoph Bumiller1-0/+3
Marek v2: add a cap Signed-off-by: Marek Olšák <marek.olsak@amd.com>
2014-05-07gallium: add a cap for supporting 4-offset TG4 opcodesIlia Mirkin1-0/+2
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2014-04-29gallium: Add PIPE_COMPUTE_CAP_MAX_CLOCK_FREQUENCYTom Stellard1-0/+2
Bruno Jiménez: v2: Updated the docs v3: Remove trailing comma Reviewed-by: Francisco Jerez <currojerez@riseup.net>
2014-04-26gallium: add basic support for ARB_sample_shadingIlia Mirkin1-0/+3
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2014-04-19gallium/docs: fix PIPE_CAP_ENDIANNESS delimiter, remove trailing spacesIlia Mirkin1-4/+4
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
2014-04-10gallium: add a way to query min/max texture gather offsetsIlia Mirkin1-0/+4
Defaults to providing the same offsets as MIN/MAX_TEXEL_OFFSET. For nvc0, the offset can be -32/31. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2014-04-07gallium: add support for LODQ opcodes.Dave Airlie1-0/+2
This opcode provide support for GL_ARB_texture_query_lod, Signed-off-by: Dave Airlie <airlied@redhat.com> [imirkin: rebase, docs update] Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2014-02-25gallium: add interface for persistent and coherent buffer mappingsMarek Olšák1-0/+3
Required for ARB_buffer_storage.
2014-02-25gallium: add texture gather support to gallium (v3)Dave Airlie1-0/+6
This adds support to gallium for a TG4 instruction, and two CAPs. The first CAP is required for GL_ARB_texture_gather. The second CAP is required to expose GL_ARB_gpu_shader5. However so far we haven't found any hardware that natively exposes the textureGatherOffsets feature from GL, so just lower it for now. If hardware appears for this we can add another CAP to allow TG4 to take 4 offsets. v2: add component selection src and a cap to say hw can do it. (st can use to help control GL_ARB_gpu_shader5/GLSL 4.00). Add docs. v3: rename to SM5, add docs. Reviewed-by: Roland Scheidegger <sroland@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-02-09gallium: add geometry shader output limitsGrigori Goronzy1-0/+6
v2: adjust limits for radeonsi and llvmpipe v3: add documentation Cc: "10.1" <mesa-stable@lists.freedesktop.org> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
2014-02-06gallium: remove PIPE_USAGE_STATICMarek Olšák1-1/+0
Reviewed-by: Brian Paul <brianp@vmware.com>
2014-02-06gallium: define the behavior of PIPE_USAGE_* flags properlyMarek Olšák1-6/+12
STATIC will be removed in the following commit. v2: changed the definition of IMMUTABLE Reviewed-by: Brian Paul <brianp@vmware.com>
2014-02-04gallium: remove PIPE_CAP_MAX_COMBINED_SAMPLERSMarek Olšák1-2/+0
This can be derived from the shader caps. All GPUs from ATI/AMD, NVIDIA, and INTEL have separate texture slots for each shader stage.
2013-12-03gallium: add support for AMD_vertex_shader_layerMarek Olšák1-0/+2
2013-11-28gallium: new shader cap bit for the amount of sampler viewsRoland Scheidegger1-1/+3
Ever since introducing separate sampler and sampler view max this was really missing. Every driver but llvmpipe reports the same number as number of samplers for now, so nothing should break. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2013-10-26gallium: add PIPE_CAP_MIXED_FRAMEBUFFER_SIZESIlia Mirkin1-0/+3
This CAP will determine whether ARB_framebuffer_object can be enabled. The nv30 driver does not allow mixing swizzled and linear zsbuf/cbuf textures. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
2013-07-31gallium/docs: clarify definition of PIPE_CAP_USER_CONSTANT_BUFFERS, etcBrian Paul1-5/+8
The cap means _can_ accept user-space constant buffers; it doesn't mean _only_ accepts user-space constant buffers. v2: also update the PIPE_CAP_USER_VERTEX_BUFFERS and PIPE_CAP_USER_INDEX_BUFFERS descriptions as well. Per Jose. Reviewed-by: Marek Olšák <maraeo@gmail.com> Reviewed-by: José Fonseca <jfonseca@vmware.com>
2013-07-22gallium: Add PIPE_CAP_ENDIANNESSTom Stellard1-0/+2
Cc: mesa-stable@lists.freedesktop.org [ Francisco Jerez: Fix "PIPE_ENDIAN_SMALL" in the documentation, define PIPE_ENDIAN_NATIVE. ]