Lines Matching defs:of
6 an important part of the API. TGSI is the only intermediate representation
18 Some instructions, like :opcode:`I2F`, permit re-interpretation of vector
23 each of the components of *dst*. When this happens, the result is said to be
33 The type of an input can be found by ``tgsi_opcode_infer_src_type()``, and
34 TGSI_OPCODE_MOV and the second and third operands of TGSI_OPCODE_UCMP (which
35 return TGSI_TYPE_UNTYPED) are also considered floats for the purpose of source
55 These opcodes are guaranteed to be available regardless of the driver being
357 .. opcode:: LDEXP - Multiply Number by Integral Power of 2
702 this will read the current value, which might change as a result of
853 XXX doesn't look like most of the opcodes really belong here.
896 Moves the contents of the source register, assumed to be an integer, into the
910 (regarding range, source of offsets). This instruction ignores the sampler
918 As per NV_gpu_program4, retrieve the dimensions of the texture depending on
921 Also return the number of accessible levels (last_level - first_level + 1)
942 This retrieves the number of samples in the texture, and stores it
957 addressing modes of the sampler and the top level of any mip pyramid are
962 where the magnitude of the deltas are half a texel.
996 .. opcode:: LODQ - level of detail query
1013 are implicitly 64-bit, so if fewer than 64 bits of precision are
1015 should be shifted up so that the most significant bit of the time
1016 is the most significant bit of the 64-bit value.
1026 Support for these opcodes indicated by PIPE_SHADER_CAP_INTEGERS (all of them?)
1094 The low 32bit of the result is returned.
1126 The low 32bit of the result is returned.
1141 The high 32bits of the multiplication of 2 signed integers are returned.
1156 The high 32bits of the multiplication of 2 unsigned integers are returned.
1266 .. opcode:: IMAX - Maximum of Signed Integers
1279 .. opcode:: UMAX - Maximum of Unsigned Integers
1292 .. opcode:: IMIN - Minimum of Signed Integers
1305 .. opcode:: UMIN - Minimum of Unsigned Integers
1333 .. opcode:: ISHR - Arithmetic Shift Right (of Signed Integer)
1393 Same comparison as SLT but returns integer instead of 1.0/0.0 float
1434 Same comparison as SGE but returns integer instead of 1.0/0.0 float
1475 Same comparison as SEQ but returns integer instead of 1.0/0.0 float
1503 Same comparison as SNE but returns integer instead of 1.0/0.0 float
1558 These opcodes are used for bit-level manipulation of integers.
1562 Like GLSL bitfieldExtract. Extracts a set of bits from the input, and
1563 sign-extends them if the high bit of the extracted window is set.
1576 Like GLSL bitfieldExtract. Extracts a set of bits from the input, without
1590 Like GLSL bitfieldInsert. Replaces a bit region of 'base' with the low bits
1591 of 'insert'.
1604 See SM5 instruction BFREV. Reverses the bits of the argument.
1608 See SM5 instruction COUNTBITS. Counts the number of set bits in the argument.
1610 .. opcode:: LSB - Index of lowest set bit
1612 See SM5 instruction FIRSTBIT_LO. Computes the 0-based index of the first set
1613 bit of the argument. Returns -1 if none are set.
1615 .. opcode:: IMSB - Index of highest non-sign bit
1617 See SM5 instruction FIRSTBIT_SHI. Computes the 0-based index of the highest
1618 non-sign bit of the argument (i.e. highest 0 bit for negative numbers,
1622 .. opcode:: UMSB - Index of highest set bit
1624 See SM5 instruction FIRSTBIT_HI. Computes the 0-based index of the highest
1625 set bit of the argument. Returns -1 if none are set.
1631 in any other type of shader.
1641 Complete the current primitive in the specified vertex stream (consisting of
1648 These opcodes are part of :term:`GLSL`'s opcode set. Support for these
1665 Unconditionally moves the point of execution to the instruction after the
1681 Starts definition of a subroutine. Must have a matching endsub.
1691 Ends definition of a subroutine.
1701 Unconditionally moves the point of execution to the instruction after the
1736 Starts a C-style switch expression. The switch consists of one or multiple
1737 CASE statements, and at most one DEFAULT statement. Execution of a statement
1769 .. opcode:: ENDSWITCH - End of switch
1779 interpolateAt* functions. The first argument of each of these must come from
1904 exponent of its source to ``dst0``, and the significand to ``dst1``, such that
1915 .. opcode:: DLDEXP - Multiply Number by Integral Power of 2
1917 This opcode is the inverse of :opcode:`DFRACEXP`. The second
2148 .. opcode:: I64MIN - Minimum of 64-bit Signed Integers
2156 .. opcode:: U64MIN - Minimum of 64-bit Unsigned Integers
2164 .. opcode:: I64MAX - Maximum of 64-bit Signed Integers
2172 .. opcode:: U64MAX - Maximum of 64-bit Unsigned Integers
2190 .. opcode:: I64SHR - Arithmetic Shift Right (of 64-bit Signed Integer)
2200 .. opcode:: U64SHR - Logical Shift Right (of 64-bit Unsigned Integer)
2331 Those opcodes follow very closely semantics of the respective Direct3D
2357 The 'address' is specified as unsigned integers. If the 'address' is out of
2358 range [0...(# texels - 1)] the result of the fetch is always 0 in all
2362 out of the range then the instruction always returns 0 in all components.
2367 integer). If the value is out of the range of available array indices
2371 semantics of the source address are presented in the table below:
2404 is applied to the level of detail computed as part of the instruction
2459 and cubemaps arrays. For 2D textures, only the addressing modes of the
2460 sampler and the top level of any mip pyramid are used. Set W to zero. It
2465 magnitude of the deltas are half a texel.
2470 Query the dimensions of a given sampler view. dst receives width, height,
2471 depth or array size and number of mipmap levels as int4. The dst can have a
2478 src_mip_level is an unsigned integer scalar. If it's out of range then
2479 returns 0 for width, height and depth/array size but the total number of
2482 src_mip_level and are in the number of texels. For 1d texture array width
2483 is in dst.x, array size is in dst.y and dst.z is 0. The number of mipmaps is
2493 Query the position of a sample in the given resource or render target
2500 of the fragment.
2517 Query the number of samples in a multisampled resource or render target.
2521 dst receives int4 (n, 0, 0, 0) where n is the number of samples in a
2534 .. opcode:: LOD - level of detail
2536 Same syntax as the SAMPLE opcode but instead of performing an actual
2563 The 'address' is specified as a vector of unsigned
2564 integers. If the 'address' is out of range the result
2567 Only the first mipmap level of a resource can be read
2589 The 'address' is specified as a vector of unsigned
2590 integers. If the 'address' is out of range the result
2593 Only the first mipmap level of a resource can be
2611 image resources, .xyz will contain the width/height/layers of the
2612 image, while .w will contain the number of samples for multi-sampled
2622 of the current position in the framebuffer from before this fragment
2667 This opcode suspends the execution of the current thread until all
2668 the remaining threads in the working group reach the same point of
2669 the program. Results are unspecified if any of the remaining
2676 This opcode waits for the completion of all memory accesses based on
2695 These opcodes provide atomic variants of some common arithmetic and
2699 entire execution of the atomic operation. The resource may be a BUFFER,
2700 IMAGE, HWATOMIC, or MEMORY. In the case of an image, the offset works
2911 .. opcode:: VOTE_ANY - Value is set in any of the active invocations
2918 .. opcode:: VOTE_ALL - Value is set in all of the active invocations
2925 .. opcode:: VOTE_EQ - Value is the same in all of the active invocations
2932 .. opcode:: BALLOT - Lanemask of whether the value is set in each active
2939 When the argument is a constant true, this produces a bitmask of active
2965 Explanation of symbols used
2973 :math:`|x|` Absolute value of `x`.
2975 :math:`\lceil x \rceil` Ceiling of `x`.
2980 :math:`\lfloor x\rfloor` Floor of `x`.
2982 :math:`\log_2{x}` Logarithm of `x`, base 2.
2984 max(x,y) Maximum of x and y.
2987 min(x,y) Minimum of x and y.
2990 partialx(x) Derivative of x relative to fragment's X.
2992 partialy(x) Derivative of x relative to fragment's Y.
3013 target Label of target instruction.
3028 of TGSI_FILE.
3030 UsageMask field specifies which of the register components can be accessed
3031 and is one of TGSI_WRITEMASK.
3035 isn't required to give any guarantees of it being preserved across
3053 indirect addressing operands. An ArrayID of zero is reserved and treated as
3064 and will prevent packing of scalar/vec2 arrays and effective alias analysis.
3071 with semantic information consisting of a name and index.
3075 Since its purpose is to link a shader with other stages of the pipeline,
3079 SemanticName field contains the semantic name of the register being declared.
3086 The meanings of the individual semantic names are explained in the following
3094 space coordinate system. After clipping, the X, Y and Z components of the
3102 indicate the top of the window or the bottom depending on the fragment
3105 to the back of the Z buffer. The W component contains the interpolated
3106 reciprocal of the vertex position W component (corresponding to gl_Fragcoord,
3108 the reciprocal of the interpolated value).
3157 of points for rasterization. This label cannot be used in fragment
3188 the contents of the register are undefined.
3198 uses of generic inputs/outputs are texcoords and user-defined values.
3249 contains the index of the viewport (and scissor) to use.
3277 When components of vertex elements are identified this way, these
3286 for all of the vertices in the primitive are < 0.
3287 If a vertex has a cull distance of NaN, that vertex counts as "out"
3291 annotating multiple components of one or more vertex elements with
3295 the maximum number of components that can be used to hold the
3297 which specifies the maximum number of registers which can be
3320 the center of the fragment.
3331 For a system value, the sample mask indicates the set of samples covered by
3398 coordinates of the vertex being processed. This is available in XYZ; W is
3405 outer tessellation levels of the patch. Isoline tessellation will only have XY
3413 inner tessellation levels of the patch. The X value is only defined for
3421 number of vertices provided in the input patch. Only the X value is defined.
3429 some of the logic in those cases. See ``gl_HelperInvocation`` documentation.
3440 For vertex shaders, the zero-based index of the current draw in a
3457 of a grid of thread blocks.
3463 For compute shaders, this semantic indicates the (x, y, z) coordinates of the
3464 current block inside of the grid.
3471 of a block in threads.
3477 For compute shaders, this semantic indicates the (x, y, z) coordinates of the
3478 current thread inside of the block.
3485 an integer of at most 64, as it indicates the width of lanemasks. It does not
3486 depend on the number of invocations that are active.
3492 The index of the current invocation within its subgroup.
3498 A bit mask of ``bit index == TGSI_SEMANTIC_SUBGROUP_INVOCATION``, i.e.
3505 A bit mask of ``bit index >= TGSI_SEMANTIC_SUBGROUP_INVOCATION``, i.e.
3513 A bit mask of ``bit index > TGSI_SEMANTIC_SUBGROUP_INVOCATION``, i.e.
3521 A bit mask of ``bit index <= TGSI_SEMANTIC_SUBGROUP_INVOCATION``, i.e.
3528 A bit mask of ``bit index < TGSI_SEMANTIC_SUBGROUP_INVOCATION``, i.e.
3535 A bit mask of viewports to broadcast the current primitive to. See
3557 the rasteriser and is one of TGSI_INTERPOLATE_*.
3560 interpolation should be done at, one of ``TGSI_INTERPOLATE_LOC_*``. Note that
3562 interpolate at the sample irrespective of the Location field.
3575 resource can be one of BUFFER, 1D, 2D, 3D, 1DArray and 2DArray.
3578 level) out of UNORM, SNORM, SINT, UINT and FLOAT.
3603 resource can be one of BUFFER, 1D, 2D, 3D, CUBE, 1DArray and
3608 the specified data type from the physical data format of the bound
3612 performed: the values read for each of the channels (X,Y,Z,W) will
3615 performed either: the value of the provided X coordinate will be
3616 interpreted in byte units instead of texel units. The result of
3619 Usage of the STORE opcode is only allowed if the WR (writable) flag
3627 The first member of the dimension is the buffer resource the atomic
3637 This declares two atomics, one at the start of the buffer and one in the
3645 one in buffer 1 at 0, and an array of 3 atomics in
3675 If HALF_INTEGER, the fractionary part of the position will be 0.5
3676 If INTEGER, the fractionary part of the position will be 0.0
3678 Note that this does not affect the set of fragments generated by
3708 Specifies the number of times a geometry shader should be executed for each
3717 Division of X,Y,Z by W and the viewport transformation are disabled, and 1/W is
3718 directly taken from the 4-th component of the shader output.
3720 The effect of this property is undefined if a geometry or tessellation shader
3726 The number of vertices written by the tessellation control shader. This
3727 effectively defines the patch input size of the tessellation evaluation shader
3733 This sets the tessellation primitive mode, one of ``PIPE_PRIM_TRIANGLES``,
3740 This sets the spacing mode of the tessellation generator, one of
3753 which means that points will be generated instead of primitives.
3769 the fragment shader (regardless of fragment shader side effects). Corresponds
3790 of the operands are equal to 0. That means that 0 * Inf = 0. This
3851 or (z, z, z, z) depending on the value of GL_DEPTH_TEXTURE_MODE.