Classes | Macros | Typedefs | Functions
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_t * | hal_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.