hal_gfx_hal.h File Reference

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

#include "hal_gfx_sys_defs.h"
+ Include dependency graph for hal_gfx_hal.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  hal_gfx_buffer_t_
 The base structure of gpu memory. More...
 
struct  hal_gfx_ringbuffer_t_
 The ringbuffer structure. More...
 

Macros

#define MUTEX_RB   0
 Mutex for ringbuffer. More...
 
#define MUTEX_MALLOC   1
 Mutex for malloc. More...
 
#define MUTEX_FLUSH   2
 Mutex for flush. More...
 
#define MUTEX_MAX   2
 MAX. More...
 

Typedefs

typedef struct hal_gfx_buffer_t_ hal_gfx_buffer_t
 The base structure of gpu memory. More...
 
typedef struct hal_gfx_ringbuffer_t_ hal_gfx_ringbuffer_t
 The ringbuffer structure. More...
 

Functions

int32_t hal_gfx_sys_init (void)
 Initialize system. More...
 
int hal_gfx_wait_irq (void)
 Wait for interrupt from the GPU. More...
 
int hal_gfx_wait_irq_cl (int cl_id)
 Wait for a Command List to finish. More...
 
int hal_gfx_wait_irq_brk (int brk_id)
 Wait for a Breakpoint. More...
 
uint32_t hal_gfx_reg_read (uint32_t reg)
 Read Hardware register. More...
 
void hal_gfx_reg_write (uint32_t reg, uint32_t value)
 Write Hardware Register. More...
 
hal_gfx_buffer_t hal_gfx_buffer_create (int size)
 Create memory buffer. More...
 
hal_gfx_buffer_t hal_gfx_buffer_create_pool (int pool, int size)
 Create memory buffer at a specific pool. More...
 
void * hal_gfx_buffer_map (hal_gfx_buffer_t *bo)
 Maps buffer. More...
 
void hal_gfx_buffer_unmap (hal_gfx_buffer_t *bo)
 Unmaps buffer. More...
 
void hal_gfx_buffer_destroy (hal_gfx_buffer_t *bo)
 Destroy/deallocate buffer. More...
 
uintptr_t hal_gfx_buffer_phys (hal_gfx_buffer_t *bo)
 Get physical (GPU) base address of a given buffer. More...
 
void hal_gfx_buffer_flush (hal_gfx_buffer_t *bo)
 Write-back buffer from cache to main memory. More...
 
void * hal_gfx_host_malloc (size_t size)
 Allocate memory for CPU to use (typically, standard malloc() is called) More...
 
void hal_gfx_host_free (void *ptr)
 Free memory previously allocated with hal_gfx_host_malloc() More...
 
int hal_gfx_rb_init (hal_gfx_ringbuffer_t *rb, int reset)
 Initialize Ring Buffer. More...
 
int hal_gfx_mutex_lock (int mutex_id)
 Mutex Lock for multiple processes/threads. More...
 
int hal_gfx_mutex_unlock (int mutex_id)
 Mutex Unlock for multiple processes/threads. 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_hal.h.