Lines Matching +full:gallium +full:- +full:drivers
6 A screen is an object representing the context-independent part of a device.
9 ----------------------
20 driver/GPU. For floating-point values, use :ref:`get_paramf`, and for boolean
29 * ``PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS``: How many dual-source blend RTs are support.
47 supported with the clamp-to-edge wrap mode.
49 with clamp or clamp-to-border wrap modes.
57 * ``PIPE_CAP_INDEP_BLEND_ENABLE``: Whether per-rendertarget blend enabling and channel
60 * ``PIPE_CAP_INDEP_BLEND_FUNC``: Whether per-rendertarget blend functions are
66 * ``PIPE_CAP_FS_COORD_ORIGIN_UPPER_LEFT``: Whether the upper-left origin
68 * ``PIPE_CAP_FS_COORD_ORIGIN_LOWER_LEFT``: Whether the lower-left origin
70 * ``PIPE_CAP_FS_COORD_PIXEL_CENTER_HALF_INTEGER``: Whether the half-integer
71 pixel-center fragment convention is supported.
73 pixel-center fragment convention is supported.
88 per-instance vertex attribs.
91 flag supported by the driver? If not, gallium frontends will insert
105 color clamping, gallium frontends may insert clamping code into the vertex
112 The only legacy features that Gallium drivers must implement are
115 * ``PIPE_CAP_ESSL_FEATURE_LEVEL``: An optional cap to allow drivers to
128 buffers. If not, gallium frontends must upload all data which is not in HW
129 resources. If user-space buffers are supported, the driver must also still
145 This CAP cannot be used with any other alignment-requiring CAPs.
186 and swizzling in gallium frontends. Generally, all hardware drivers with
188 should return PIPE_TEXTURE_TRANSFER_DEFAULT. PIPE_TEXTURE_TRANSFER_COMPUTE requires drivers
206 integer with the maximum of 4G - 1.
230 shadow comparison, and run-time offsets.
240 * ``PIPE_CAP_SAMPLE_SHADING``: Whether there is support for per-sample
241 shading. The context->set_min_samples function will be expected to be
245 * ``PIPE_CAP_VS_WINDOW_SPACE_POSITION``: Whether window-space position is
248 supported by the geometry shader. If stream-out is supported, this should be
249 at least 1. If stream-out is not supported, this should be 0.
268 -1 means unknown (i.e. an API translation driver which doesn't known what kind of
271 * ``PIPE_CAP_UMA``: If the device has a unified memory architecture or on-card
279 cube (array) texture and vice-versa.
286 a multisampled depth buffer into a single-sampled texture (or depth buffer).
289 a pipe_resource where an already-existing piece of (malloc'd) user memory
293 and size must be page-aligned.
300 How many per-patch outputs and inputs are supported between tessellation
304 magnification filters are supported with single-precision floating-point
307 magnification filters are supported with half-precision floating-point
313 * ``PIPE_CAP_FORCE_PERSAMPLE_INTERP``: If the driver can force per-sample
316 by GL3-level sample shading (:ext:`GL_ARB_sample_shading`). GL4-level sample
332 * ``PIPE_CAP_SHADER_PACK_HALF_FLOAT``: Whether packed 16-bit float
334 * ``PIPE_CAP_FS_POSITION_IS_SYSVAL``: If gallium frontends should use a
336 * ``PIPE_CAP_FS_POINT_IS_SYSVAL``: If gallium frontends should use a system
338 * ``PIPE_CAP_FS_FACE_IS_INTEGER_SYSVAL``: If gallium frontends should use
349 * ``PIPE_CAP_STRING_MARKER``: Whether pipe->emit_string_marker() is supported.
354 non-compressed surface whose texels are the same number of bits as the
364 If non-zero, rendering to framebuffers with no surface attachments
365 is supported. The context->is_format_supported function will be expected
395 * ``PIPE_CAP_MIXED_COLOR_DEPTH_BITS``: Whether there is non-fallback
398 32-bit. If set to off, that means that a B5G6R5 + Z24 or RGBA8 + Z16
427 * ``PIPE_CAP_FP16``: Whether 16-bit float operations are supported.
428 * ``PIPE_CAP_DOUBLES``: Whether double precision floating-point operations
430 * ``PIPE_CAP_INT64``: Whether 64-bit integer operations are supported.
485 * ``PIPE_CAP_CONTEXT_PRIORITY_MASK``: For drivers that support per-context
500 The post-snap mode means the conservative rasterization occurs after
501 the conversion from floating-point to fixed-point coordinates
507 The pre-snap mode means the conservative rasterization occurs before
508 the conversion from floating-point to fixed-point coordinates.
523 with set_shader_buffers. This is unsigned integer with the maximum of 4GB - 1.
525 buffers. A value of 0 means the sum of all per-shader stage maximums (see
530 atomic counter buffers. A value of 0 means the sum of all per-shader stage
543 * ``PIPE_CAP_DEST_SURFACE_SRGB_CONTROL``: Indicates whether the drivers
555 * ``PIPE_CAP_THROTTLE``: Whether or not gallium frontends should throttle pipe_context
567 …should use a compute-based blit instead of pipe_context::blit and compute pipeline for compositing…
571 maximum, exchange and compare-and-swap support to buffer and shared variables.
583 * ``PIPE_CAP_PREFER_IMM_ARRAYS_AS_CONSTBUF``: True if gallium frontends should
586 efficient manner (such as through nir_opt_large_constants() and nir->constant_data).
588 * ``PIPE_CAP_GL_SPIRV_VARIABLE_POINTERS``: True if the driver supports Variable Pointers in SPIR-V …
592 for non-NIR drivers or gallium nine.
593 * ``PIPE_CAP_ALPHA_TEST``: Driver supports alpha-testing. Must be 1
594 for non-NIR drivers or gallium nine. If set, frontend may set
595 ``pipe_depth_stencil_alpha_state->alpha_enabled`` and ``alpha_func``.
598 * ``PIPE_CAP_POINT_SIZE_FIXED``: Driver supports point-sizes that are fixed,
600 * ``PIPE_CAP_TWO_SIDED_COLOR``: Driver supports two-sided coloring. Must be 1
601 for non-NIR drivers. If set, pipe_rasterizer_state may be set to indicate
602 that back-facing primitives should use the back-side color as the FS input
605 * ``PIPE_CAP_CLIP_PLANES``: Driver supports user-defined clip-planes. 0 denotes none, 1 denotes MAX…
607 * ``PIPE_CAP_OPENCL_INTEGER_FUNCTIONS``: Driver supports extended OpenCL-style integer functions. …
608 …ation between a 32-bit integer and a 16-bit integer. If the second operand is 32-bits, the upper …
614 * ``PIPE_CAP_VIEWPORT_SWIZZLE``: Whether pipe_viewport_state::swizzle can be used to specify pre-cl…
621 … based on src size when doing a copy texture operation (e.g.: may want out-of-bounds reads that pr…
624 … of binding a user pointer. This may enable a faster code-path in a gallium frontend for drivers t…
625 … Driver natively supports GL_CLAMP. Required for non-NIR drivers with the GL frontend. NIR drive…
626 …er supports rectangle textures. Required for OpenGL on ``!prefers_nir`` drivers. If this cap is …
629 * ``PIPE_CAP_EMULATE_NONFIXED_PRIMITIVE_RESTART``: Driver requests all draws using a non-fixed rest…
632 …this means DRI3 will at least use 2 back buffers and ping-pong between them to allow the tiled->li…
642 …tant buffer size in bytes. This is unsigned integer with the maximum of 4GB - 1. This applies to a…
649 …orts non-data-dependent layouts (ie. not bandwidth compressed formats like AFBC, UBWC, etc), or su…
651 … where on the shader level those are the same object. However for proper gallium nine and OpenCL s…
665 The floating-point capabilities are:
694 These are per-shader-stage capabitity queries. Different shader stages may
712 accessed with two-dimensional indices, like in the example below.
735 * ``PIPE_SHADER_CAP_FP16``: Whether half precision floating-point opcodes are supported.
737 * ``PIPE_SHADER_CAP_FP16_DERIVATIVES``: Whether half precision floating-point
739 * ``PIPE_SHADER_CAP_FP16_CONST_BUFFERS``: Whether half precision floating-point
740 constant buffer loads are supported. Drivers are recommended to report 0
744 * ``PIPE_SHADER_CAP_INT16``: Whether 16-bit signed and unsigned integer types
746 * ``PIPE_SHADER_CAP_GLSL_16BIT_CONSTS``: Lower mediump constants to 16-bit.
747 Note that 16-bit constants are not lowered to uniforms in GLSL.
755 (also used to implement atomic counters). Having this be non-0 also
771 Compute-specific capabilities. They can be queried using
775 ``processor-arch-manufacturer-os`` that will be passed on to the compiler.
776 This CAP is only relevant for drivers that specify PIPE_SHADER_IR_NATIVE for
778 Value type: null-terminated string. Shader IR type dependent.
809 non-zero means yes, zero means no. Value type: ``uint32_t``
818 known a compile-time but at dispatch-time.
873 Note that drivers must always support read and write CPU access at any time
879 * ``PIPE_USAGE_DYNAMIC``: Expect frequent write-only CPU access. What is
881 * ``PIPE_USAGE_STREAM``: Expect frequent write-only CPU access. What is
887 -------
889 XXX to-do
930 Get a floating-point screen parameter.
941 and/or front-buffer rendering.
1011 The resolve blit behavior is driver-specific, but can be one of these two:
1069 Return a driver-specific query. If the **info** parameter is NULL,
1072 The function returns non-zero on success.
1073 The driver-specific query is described with the pipe_driver_query_info
1079 Return a driver-specific query group. If the **info** parameter is NULL,
1082 The function returns non-zero on success.
1083 The driver-specific query group is described with the
1091 Returns a pointer to a driver-specific on-disk shader cache. If the driver
1092 failed to create the cache or does not support an on-disk shader cache NULL is
1094 an on-disk shader cache.
1104 false if non-external texture targets are supported with the specified modifier+
1113 dictated by **format** and any additional planes required for driver-specific
1120 -------------
1122 Screen methods are required to be thread safe. While gallium rendering