hal_gfx_cmdlist.h File Reference

Header file containing functions prototypes of Graphics library. More...

#include "hal_gfx_sys_defs.h"
#include "hal_gfx_hal.h"
+ Include dependency graph for hal_gfx_cmdlist.h:

Go to the source code of this file.

Classes

struct  hal_gfx_cmdlist_t_
 Command list structure. More...
 

Macros

#define CL_NOP   0x010000U
 No operation. More...
 
#define CL_PUSH   0x020000U
 Push command to currently command list. More...
 
#define CL_RETURN   0x040000U
 Return from current command list. More...
 
#define CL_ABORT   0x080000U
 Abort current command list. More...
 
#define CL_BATCH_SHIFT   12
 TODO. More...
 
#define CL_BATCH_LOOP   0x8000
 TODO. More...
 
#define SUBMISSION_ID_MASK   0xffffff
 Mask. More...
 

Typedefs

typedef struct hal_gfx_cmdlist_t_ hal_gfx_cmdlist_t
 Command list structure. More...
 

Functions

hal_gfx_cmdlist_t hal_gfx_cl_create_prealloc (hal_gfx_buffer_t *bo)
 Create a new Command List into a preallocated space. More...
 
hal_gfx_cmdlist_t hal_gfx_cl_create_sized (int size_bytes)
 Create a new, non expandable Command List of specific size. More...
 
hal_gfx_cmdlist_t hal_gfx_cl_create (void)
 Create a new expandable Command List. More...
 
hal_gfx_cmdlist_t hal_gfx_cl_le_create (void)
 Create a new expandable Command List with power management mode. More...
 
void hal_gfx_cl_destroy (hal_gfx_cmdlist_t *cl)
 Destroy/Free a Command List. More...
 
void hal_gfx_cl_le_destroy (hal_gfx_cmdlist_t *cl)
 Destroy/Free a Command List with power management mode. More...
 
void hal_gfx_cl_rewind (hal_gfx_cmdlist_t *cl)
 Reset position of next command to be written to the beginning. More...
 
void hal_gfx_cl_bind (hal_gfx_cmdlist_t *cl)
 Define in which Command List each subsequent commands are going to be inserted. More...
 
void hal_gfx_cl_bind_circular (hal_gfx_cmdlist_t *cl)
 Define in which Command List each subsequent commands are going to be inserted. More...
 
void hal_gfx_cl_unbind (void)
 Unbind current bound Command List, if any. More...
 
hal_gfx_cmdlist_thal_gfx_cl_get_bound (void)
 Get bound Command List. More...
 
void hal_gfx_cl_submit_no_irq (hal_gfx_cmdlist_t *cl)
 Push command to command list, but do not trigger interrupt. More...
 
void hal_gfx_cl_submit (hal_gfx_cmdlist_t *cl)
 Enqueue Command List to the Ring Buffer for execution. More...
 
int hal_gfx_cl_wait (hal_gfx_cmdlist_t *cl)
 Wait for Command List to finish. More...
 
void hal_gfx_cl_add_cmd (uint32_t reg, uint32_t data)
 Add a command to the bound Command List. More...
 
int hal_gfx_cl_add_multiple_cmds (int cmd_no, uint32_t *cmd)
 Add multiple commands to the bound Command List. More...
 
uint32_t * hal_gfx_cl_get_space (int cmd_no)
 Request free space from command list. More...
 
void hal_gfx_cl_branch (hal_gfx_cmdlist_t *cl)
 Branch from the bound Command List to a different one. More...
 
void hal_gfx_cl_jump (hal_gfx_cmdlist_t *cl)
 Jump from the bound Command List to a different one. More...
 
void hal_gfx_cl_return (void)
 Add an explicit return command to the bound Command List. More...
 
int hal_gfx_cl_almost_full (hal_gfx_cmdlist_t *cl)
 Returns positive number if the Command List is almost full, otherwise returns 0. More...
 
int hal_gfx_cl_enough_space (int cmd_no)
 Check if there is enough space or expansion can be performed for required commands. More...
 

Detailed Description

Header file containing functions prototypes of Graphics library.

Author
BLE Driver Team
Attention
Copyright (c) 2019 GOODIX

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of GOODIX nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file hal_gfx_cmdlist.h.