FastUIDraw
|
A PainterHeader represents the values of the header for the shaders to read to draw data. The header holds data that is common for all vertices and fragments for an item to draw, including with what shader and the data for the shader. More...
#include <painter_header.hpp>
Public Types | |
enum | { drawing_occluder = ~0u } |
enum | offset_t { clip_equations_location_offset, item_matrix_location_offset, brush_shader_data_location_offset, item_shader_data_location_offset, blend_shader_data_location_offset, item_shader_offset, brush_shader_offset, blend_shader_offset, z_offset, offset_to_deferred_coverage_x_offset, offset_to_deferred_coverage_y_offset, deferred_coverage_min_x_offset, deferred_coverage_min_y_offset, deferred_coverage_max_x_offset, deferred_coverage_max_y_offset, brush_adjust_location_offset, header_size } |
Enumerations specifying how the contents of a PainterHeader are packed into a data store buffer (PainterDraw::m_store), offsets are in units of uint32_t (not uvec4). More... | |
Public Member Functions | |
void | pack_data (c_array< uvec4 > dst) const |
Static Public Member Functions | |
static unsigned int | data_size (void) |
Public Attributes | |
uint32_t | m_blend_shader |
uint32_t | m_blend_shader_data_location |
uint32_t | m_brush_adjust_location |
uint32_t | m_brush_shader |
uint32_t | m_brush_shader_data_location |
uint32_t | m_clip_equations_location |
ivec2 | m_deferred_coverage_max |
ivec2 | m_deferred_coverage_min |
uint32_t | m_item_matrix_location |
uint32_t | m_item_shader |
uint32_t | m_item_shader_data_location |
ivec2 | m_offset_to_deferred_coverage |
int32_t | m_z |
A PainterHeader represents the values of the header for the shaders to read to draw data. The header holds data that is common for all vertices and fragments for an item to draw, including with what shader and the data for the shader.
Definition at line 39 of file painter_header.hpp.
anonymous enum |
Enumerator | |
---|---|
drawing_occluder | When m_blend_shader_data_location is set to drawing_occluder, it indicates that the item being drawing is an occluder thus the color computation from the brush and item can be skipped. |
Definition at line 42 of file painter_header.hpp.
Enumerations specifying how the contents of a PainterHeader are packed into a data store buffer (PainterDraw::m_store), offsets are in units of uint32_t (not uvec4).
Enumerator | |
---|---|
clip_equations_location_offset | offset to m_clip_equations_location |
item_matrix_location_offset | offset to m_item_matrix_location |
brush_shader_data_location_offset | offset to m_brush_shader_data_location |
item_shader_data_location_offset | offset to m_item_shader_data_location |
blend_shader_data_location_offset | offset to m_blend_shader_data_location |
item_shader_offset | offset to m_item_shader |
brush_shader_offset | offset to m_brush_shader |
blend_shader_offset | offset to m_blend_shader |
z_offset | offset to m_z |
offset_to_deferred_coverage_x_offset | offset to m_offset_to_deferred_coverage .x() |
offset_to_deferred_coverage_y_offset | offset to m_offset_to_deferred_coverage .y() |
deferred_coverage_min_x_offset | offset to m_deferred_coverage_min .x() |
deferred_coverage_min_y_offset | offset to m_deferred_coverage_min .y() |
deferred_coverage_max_x_offset | offset to m_deferred_coverage_max .x() |
deferred_coverage_max_y_offset | offset to m_deferred_coverage_max .y() |
brush_adjust_location_offset | Offset to m_brush_adjust_location |
header_size | size of header |
Definition at line 59 of file painter_header.hpp.
|
inlinestatic |
Returns the length of the data needed to encode the data.
Definition at line 209 of file painter_header.hpp.
Pack the values of this PainterHeader
dst | place to which to pack data |
uint32_t fastuidraw::PainterHeader::m_blend_shader |
The ID of the blend shader (i.e. PainterBlendShader::ID()).
Definition at line 156 of file painter_header.hpp.
uint32_t fastuidraw::PainterHeader::m_blend_shader_data_location |
The location, in units of uvec4 tuples, to the location in the data store buffer (PainterDraw::m_store) for the blend shader data. I.e. the PainterBlendShaderData value is stored (packed) at the location
NOTE: if m_blend_shader_data_location is drawing_occluder this means that the item being drawing is an occluder thus the color computation from the brush and item can be skipped.
Definition at line 141 of file painter_header.hpp.
uint32_t fastuidraw::PainterHeader::m_brush_adjust_location |
If non-zero, indicates that the brush position is to be adjusted in vertex shading before being fed the the brush shading. When non-zero, is an offset, in units of uvec4 tuples, to the location in the data store buffer (PainterDraw::m_store) for the value encoded by a PainterBrushAdjust packed at the location
Definition at line 195 of file painter_header.hpp.
uint32_t fastuidraw::PainterHeader::m_brush_shader |
The ID of the brush shader (i.e. PainterBrushShader::ID()).
Definition at line 151 of file painter_header.hpp.
uint32_t fastuidraw::PainterHeader::m_brush_shader_data_location |
The location, in units of uvec4 tuples, to the location in the data store buffer (PainterDraw::m_store) for the brush shader data. I.e. the data for a brush is stored (packed) at the location
Definition at line 115 of file painter_header.hpp.
uint32_t fastuidraw::PainterHeader::m_clip_equations_location |
The offset, in units of uvec4 tuples, to the location in the data store buffer (PainterDraw::m_store) for the clip equations. I.e. the PainterClipEquations value is stored (packed) at the location
Definition at line 93 of file painter_header.hpp.
ivec2 fastuidraw::PainterHeader::m_deferred_coverage_max |
Maximum value (in coverage buffer pixel coordinates) from which allowed to read the coverage buffer.
Definition at line 182 of file painter_header.hpp.
ivec2 fastuidraw::PainterHeader::m_deferred_coverage_min |
Minimum value (in coverage buffer pixel coordinates) from which allowed to read the coverage buffer.
Definition at line 176 of file painter_header.hpp.
uint32_t fastuidraw::PainterHeader::m_item_matrix_location |
The location, in units of uvec4 tuples, to the location in the data store buffer (PainterDraw::m_store) for the item matrix. I.e. the PainterItemMatrix value is stored (packed) at the location
Definition at line 104 of file painter_header.hpp.
uint32_t fastuidraw::PainterHeader::m_item_shader |
The ID of the item shader (i.e. PainterItemShader::ID()).
Definition at line 146 of file painter_header.hpp.
uint32_t fastuidraw::PainterHeader::m_item_shader_data_location |
The location, in units of uvec4 tuples, to the location in the data store buffer (PainterDraw::m_store) for the item shader data. I.e. the PainterItemShaderData value is stored (packed) at the location
Definition at line 126 of file painter_header.hpp.
ivec2 fastuidraw::PainterHeader::m_offset_to_deferred_coverage |
Offset in pixels from where to read the deferred coverage values.
Definition at line 170 of file painter_header.hpp.
int32_t fastuidraw::PainterHeader::m_z |
The z-value to use for the item. The z-value is used by Painter to implement clipping and to prevent overdraw. This is the value by which to increment the z-value of the output of an item's vertex shader
Definition at line 164 of file painter_header.hpp.