Lines Matching +full:- +full:- +full:query +full:- +full:gpu
10 Note that resource/texture allocation is not per-context but per-screen.
14 -------
31 the CSO module will always replace all samplers at once (no sub-ranges).
34 * :ref:`depth-stencil-alpha`: ``*_depth_stencil_alpha_state``
75 Non-CSO State
79 objects. They all follow simple, one-method binding calls, e.g.
85 * ``set_sample_mask`` sets the per-context multisample sample mask. Note
87 the framebuffer surface(s) are multisampled. Also, this mask is AND-ed
100 and y would be [xmin..xmax-1] and [ymin..ymax-1]. The number of scissors
106 modes - include and exclude, which define whether the supplied
240 It can be stored in device memory and the CPU actually doesn't have to query
256 for the purposes of the draw_auto stage. -1 means the buffer should
263 NOTE: The currently-bound vertex or geometry shader must be compiled with
264 the properly-filled-in structure pipe_stream_output_info describing which
297 ``clear_texture`` clears a non-PIPE_BUFFER resource's specified level
303 multi-byte element value starting at offset bytes from resource start, going
321 For simple single-use uploads, use ``pipe_context::stream_uploader`` or
334 - Always fill the memory immediately after u_upload_alloc. Any following call
337 - Don't interleave calls using stream_uploader and const_uploader. If you use
349 ``start`` to ``start``+``count``-1, inclusive.
352 ``start_instance``+``instance_count``-1, inclusive, will be drawn.
359 between ``start`` to ``start``+``count``-1. This allows the driver to
361 without having to scan the index buffer. Providing a over-estimation of the
368 In case of non-indexed draw, ``min_index`` should be set to
369 ``start`` and ``max_index`` should be set to ``start``+``count``-1.
384 it contains per-vertex data and effective vertex attribute address needs
389 If a given vertex element has ``instance_divisor`` set to non-zero,
390 it is said it contains per-instance data and effective vertex attribute
391 address needs to recalculated for every ``instance_divisor``-th instance.
413 ``destroy_query``. To start a query, use ``begin_query``, and when finished,
414 use ``end_query`` to end the query.
416 ``create_query`` takes a query type (``PIPE_QUERY_*``), as well as an index,
418 ``PIPE_QUERY_PRIMITIVES_EMITTED``, and allocates a query structure.
420 ``begin_query`` will clear/reset previous query results.
422 ``get_query_result`` is used to retrieve the results of a query. If
424 will block until the results of the query are ready (and TRUE will be
426 will not block and the return value will be TRUE if the query has
429 ``get_query_result_resource`` is used to store the result of a query into
431 wait for the query to complete, and will optionally write whether the value
434 ``set_active_query_state`` Set whether all current non-driver queries except
441 :ref:`depth-stencil-alpha` testing or shader KILL instructions.
442 The result is an unsigned 64-bit integer.
443 This query can be used with ``render_condition``.
445 In cases where a boolean result of an occlusion query is enough,
450 This query can be used with ``render_condition``.
452 In cases where a conservative approximation of an occlusion query is enough,
455 additional, implementation-dependent cases.
456 This query can be used with ``render_condition``.
460 The result is an unsigned 64-bit integer.
465 This query does not require a call to ``begin_query``.
466 The result is an unsigned 64-bit integer.
470 unreliable due to things like throttling etc. - only if this is FALSE
471 a timestamp query (within the timestamp_disjoint query) should be trusted.
472 The result is a 64-bit integer specifying the timer resolution in Hz,
476 ``PIPE_QUERY_PRIMITIVES_GENERATED`` returns a 64-bit integer indicating
480 ``PIPE_QUERY_PRIMITIVES_EMITTED`` returns a 64-bit integer indicating
483 ``PIPE_QUERY_SO_STATISTICS`` returns 2 64-bit integers corresponding to
494 This query can be used with ``render_condition``. The output stream is
499 issued between ``begin_query`` and ``end_query``. This query can be used
507 This query does not require a call to ``begin_query``.
510 64-bit integers:
527 ``PIPE_STAT_QUERY`` enums as the query's ``index``.
529 Gallium does not guarantee the availability of any query types; one must
536 A drawing command can be skipped depending on the outcome of a query
537 (typically an occlusion query, or streamout overflow predicate).
538 The ``render_condition`` function specifies the query which should be checked
545 If ``render_condition`` is called with ``query`` = NULL, conditional
548 If ``render_condition`` is called with a non-null ``query`` subsequent
549 drawing commands will be predicated on the outcome of the query.
551 (for non-boolean queries such as OCCLUSION_QUERY, zero counts as FALSE,
552 non-zero as TRUE).
555 query to complete before deciding whether to render.
557 If ``mode`` is PIPE_RENDER_COND_NO_WAIT and the query has not yet
558 completed, the drawing command will be executed normally. If the query
559 has completed, drawing will be predicated on the outcome of the query.
563 for the non-REGION modes but in the case that an occlusion query returns
564 a non-zero result, regions which were occluded may be omitted by subsequent
566 Normally, if the occlusion query returned a non-zero result subsequent
571 on a value in memory. A buffer resource and offset denote which 32-bit
572 value to use for the query. This is used for Vulkan API.
597 finer-grained fences. Note that as a general rule, GPU caches may not have been
607 command has finished executing on the GPU entirely (but data written by the
615 - flushing a resource before presenting it on the screen
616 - flushing a resource if some other process or device wants to use it
626 execution between multiple parties. Examples include CPU <-> GPU synchronization,
627 renderer <-> windowing system, multiple external APIs, etc.
629 A ``pipe_fence_handle`` can either be 'one time use' or 're-usable'. A 'one time use'
630 fence behaves like a traditional GPU fence. Once it reaches the signaled state it
633 Once a re-usable ``pipe_fence_handle`` becomes signaled, it can be reset
636 ``fence_server_sync``. As a corollary to this behavior, a re-usable
639 This behavior is useful in producer <-> consumer chains. It helps avoid
642 through GPU signaling instead of direct producer <-> consumer communication.
644 ``fence_server_sync`` inserts a wait command into the GPU's command stream.
646 ``fence_server_signal`` inserts a signal command into the GPU's command stream.
650 call to ``flush`` is required to make sure the commands are emitted to the GPU.
682 scaling, format conversion, and up-/downsampling, as well as a destination clip
688 offers, for example, accelerated stencil-only copies even where
702 to the transfer object remains unchanged (i.e. it can be non-NULL).
705 single-sampled for reads (returning the first sample for depth/stencil/integer,
719 region of pixels. This is self-explanatory for 1D, 2D and 3D texture
749 This function flushes all pending writes to the currently-set surfaces and
750 invalidates all read caches of the currently-set samplers. This can be used
786 (i.e., box->x + box->width == buffer->width0).
850 specified N-dimensional grid, hopefully in parallel.
866 * ``INPUT`` represents a read-only memory space that can be
869 These resources use a byte-based addressing scheme, and they can be
888 This function allows frontends to query kernel information defined inside
915 Gallium frontends can query or request notifications of when the GPU
917 a GPU reset happens, the context becomes unusable and all related state
919 notifications are single-shot, i.e. subsequent calls to
934 * ``create_texture_handle`` creates a 64-bit unsigned integer texture handle
936 * ``delete_texture_handle`` deletes a 64-bit unsigned integer texture handle.
937 * ``make_texture_handle_resident`` makes a 64-bit unsigned texture handle
940 * ``create_image_handle`` creates a 64-bit unsigned integer image handle that
942 * ``delete_image_handle`` deletes a 64-bit unsigned integer image handle.
943 * ``make_image_handle_resident`` makes a 64-bit unsigned integer image handle
948 ----------------------