Turnstone Operating System
Loading...
Searching...
No Matches
virgl.64.c File Reference

virgl implementation More...

#include <graphics/virgl.h>
#include <memory.h>
#include <utils.h>
#include <logging.h>

Classes

struct  virgl_renderer_t
 
struct  virgl_cmd_t
 

Functions

 MODULE ("turnstone.kenrel.graphics.virgl")
 
void video_text_print (const char_t *text)
 
static uint32_t fui (float32_t f)
 
virgl_renderer_tvirgl_renderer_create (memory_heap_t *heap, uint32_t context_id, uint16_t queue_no, lock_t **lock, uint64_t *fence_id, virgl_get_buffer_f get_buffer, virgl_send_cmd_f send_cmd)
 
uint32_t virgl_renderer_get_next_resource_id (virgl_renderer_t *renderer)
 
memory_heap_tvirgl_renderer_get_heap (virgl_renderer_t *renderer)
 
virgl_cmd_tvirgl_renderer_get_cmd (virgl_renderer_t *renderer)
 
uint32_t virgl_cmd_get_context_id (virgl_cmd_t *cmd)
 
uint32_t virgl_cmd_get_size (virgl_cmd_t *cmd)
 
uint8_tvirgl_cmd_get_offset_and_desc_index (virgl_cmd_t *cmd, uint16_t *desc_index)
 
int8_t virgl_cmd_flush_commands (virgl_cmd_t *cmd)
 
static void virgl_encode_rollback_cmd (virgl_cmd_t *cmd)
 
static int8_t virgl_encode_write_dword (virgl_cmd_t *cmd, uint32_t dword)
 
static int8_t virgl_encode_write_float64 (virgl_cmd_t *cmd, float64_t qword)
 
static void virgl_encode_write_block (virgl_cmd_t *cmd, const void *data, uint32_t length)
 
static int8_t virgl_encode_write_cmd_header (virgl_cmd_t *cmd, uint16_t cmd_type, uint16_t object_type, uint16_t size)
 
int8_t virgl_encode_clear (virgl_cmd_t *cmd, virgl_cmd_clear_t *clear)
 
int8_t virgl_encode_clear_texture (virgl_cmd_t *cmd, virgl_cmd_clear_texture_t *clear_texture)
 
int8_t virgl_encode_surface (virgl_cmd_t *cmd, virgl_obj_surface_t *surface, boolean_t is_texture)
 
int8_t virgl_encode_framebuffer_state (virgl_cmd_t *cmd, virgl_obj_framebuffer_state_t *fb_state)
 
int8_t virgl_encode_copy_region (virgl_cmd_t *cmd, virgl_copy_region_t *copy_region)
 
static void virgl_encode_emit_shader_header (virgl_cmd_t *cmd, uint32_t handle, uint32_t len, uint32_t type, uint32_t offlen, uint32_t num_tokens)
 
static void virgl_encode_emit_shader_streamout (virgl_cmd_t *cmd, virgl_shader_t *shader)
 
int8_t virgl_encode_shader (virgl_cmd_t *cmd, virgl_shader_t *shader)
 
int8_t virgl_encode_bind_shader (virgl_cmd_t *cmd, uint32_t handle, uint32_t type)
 
int8_t virgl_encode_link_shader (virgl_cmd_t *cmd, virgl_link_shader_t *link_shader)
 
int8_t virgl_encode_set_uniform_buffer (virgl_cmd_t *cmd, uint32_t shader, uint32_t index, uint32_t offset, uint32_t length, uint32_t res)
 
int8_t virgl_encode_set_shader_buffers (virgl_cmd_t *cmd, virgl_shader_buffer_t *shader_buffer)
 
int8_t virgl_encode_set_shader_images (virgl_cmd_t *cmd, virgl_shader_images_t *shader_images)
 
int8_t virgl_encode_sampler_view (virgl_cmd_t *cmd, virgl_sampler_view_t *sampler_view, boolean_t is_texture)
 
int8_t virgl_encode_sampler_views (virgl_cmd_t *cmd, virgl_sampler_views_t *sampler_views)
 
int8_t virgl_encode_draw_vbo (virgl_cmd_t *cmd, virgl_draw_info_t *draw_info)
 
static void virgl_encode_transfer3d_common (virgl_cmd_t *cmd, uint32_t res, unsigned level, unsigned usage, virgl_box_t *box, unsigned stride, unsigned layer_stride)
 
static void virgl_encoder_inline_send_box (virgl_cmd_t *cmd, uint32_t res, unsigned level, unsigned usage, virgl_box_t *box, const void *data, unsigned stride, unsigned layer_stride, int length)
 
int8_t virgl_encode_inline_write (virgl_cmd_t *cmd, virgl_res_iw_t *res_iw, const void *data)
 
int8_t virgl_encode_bind_object (virgl_cmd_t *cmd, virgl_object_type_t object_type, uint32_t object_id)
 
int8_t virgl_encode_create_vertex_elements (virgl_cmd_t *cmd, uint32_t handle, uint32_t num_elements, const virgl_vertex_element_t *element)
 
int8_t virgl_encode_blend_state (virgl_cmd_t *cmd, uint32_t handle, virgl_blend_state_t *blend_state)
 
int8_t virgl_encode_dsa_state (virgl_cmd_t *cmd, uint32_t handle, virgl_depth_stencil_alpha_state_t *dsa_state)
 
int8_t virgl_encode_rasterizer_state (virgl_cmd_t *cmd, uint32_t handle, virgl_rasterizer_state_t *rasterizer_state)
 
int8_t virgl_encode_set_viewport_states (virgl_cmd_t *cmd, int32_t start_slot, int num_viewports, const virgl_viewport_state_t *states)
 
int8_t virgl_encode_set_vertex_buffers (virgl_cmd_t *cmd, virgl_vertex_buffer_t *buffer)
 

Detailed Description

virgl implementation

This work is licensed under TURNSTONE OS Public License. Please read and understand latest version of Licence.