image/svg+xml
Brteve's API for EveApps
Version 0.0.1
The reference document for common folder of EveApps project.
 
Loading...
Searching...
No Matches
EVE_CoDl.h File Reference

EVE's co-processor command. More...

#include "EVE_CoCmd.h"

Go to the source code of this file.

Macros

#define EVE_VERTEX2F_MIN   -16384L
 
#define EVE_VERTEX2F_MAX   16383L
 
#define EVE_VERTEX2II_MIN   0UL
 
#define EVE_VERTEX2II_MAX   511UL
 

Functions

EVE_HAL_EXPORT void EVE_CoDlImpl_resetDlState (EVE_HalContext *phost)
 
EVE_HAL_EXPORT void EVE_CoDlImpl_resetCoState (EVE_HalContext *phost)
 
static void EVE_CoDl_display (EVE_HalContext *phost)
 
static void EVE_CoDl_vertex2f (EVE_HalContext *phost, int16_t x, int16_t y)
 Fixed point vertex with subprecision depending on current vertex format.
 
static void EVE_CoDl_vertex2ii (EVE_HalContext *phost, uint16_t x, uint16_t y, uint8_t handle, uint8_t cell)
 
static void EVE_CoDl_bitmapSource (EVE_HalContext *phost, uint32_t addr)
 
static void EVE_CoDl_bitmapSource_ex (EVE_HalContext *phost, uint32_t addr, bool flash)
 
static void EVE_CoDl_clearColorRgb_ex (EVE_HalContext *phost, uint32_t c)
 Specify clear color RGB.
 
static void EVE_CoDl_clearColorRgb (EVE_HalContext *phost, uint8_t r, uint8_t g, uint8_t b)
 Specify clear color RGB.
 
static void EVE_CoDl_clearColorA (EVE_HalContext *phost, uint8_t alpha)
 Specify clear alpha channel.
 
static void EVE_CoDl_clearColorArgb_ex (EVE_HalContext *phost, uint32_t c)
 Specify clear color: Alpha (bits 31:24) + RGB (bits 23:0)
 
static void EVE_CoDl_tag (EVE_HalContext *phost, uint8_t s)
 Set current tag.
 
static void EVE_CoDl_colorRgb_ex (EVE_HalContext *phost, uint32_t c)
 Specify color RGB.
 
static void EVE_CoDl_colorRgb (EVE_HalContext *phost, uint8_t r, uint8_t g, uint8_t b)
 Specify color RGB.
 
static void EVE_CoDl_colorA (EVE_HalContext *phost, uint8_t alpha)
 Specify alpha channel.
 
static void EVE_CoDl_colorArgb_ex (EVE_HalContext *phost, uint32_t c)
 Specify color: Alpha (bits 31:24) + RGB (bits 23:0)
 
static void EVE_CoDl_bitmapHandle (EVE_HalContext *phost, uint8_t handle)
 Specify bitmap handle, see BITMAP_HANDLE.
 
static void EVE_CoDl_cell (EVE_HalContext *phost, uint8_t cell)
 Specify cell number for bitmap, see CELL.
 
static void EVE_CoDl_bitmapLayout (EVE_HalContext *phost, uint8_t format, uint16_t linestride, uint16_t height)
 
static void EVE_CoDl_bitmapSize (EVE_HalContext *phost, uint8_t filter, uint8_t wrapx, uint8_t wrapy, uint16_t width, uint16_t height)
 
static void EVE_CoDl_alphaFunc (EVE_HalContext *phost, uint8_t func, uint8_t ref)
 
static void EVE_CoDl_stencilFunc (EVE_HalContext *phost, uint8_t func, uint8_t ref, uint8_t mask)
 
static void EVE_CoDl_blendFunc (EVE_HalContext *phost, uint8_t src, uint8_t dst)
 
static void EVE_CoDl_blendFunc_default (EVE_HalContext *phost)
 
static void EVE_CoDl_stencilOp (EVE_HalContext *phost, uint8_t sfail, uint8_t spass)
 
static void EVE_CoDl_pointSize (EVE_HalContext *phost, int16_t size)
 
static void EVE_CoDl_lineWidth (EVE_HalContext *phost, int16_t width)
 
static void EVE_CoDl_clearStencil (EVE_HalContext *phost, uint8_t s)
 
static void EVE_CoDl_clearTag (EVE_HalContext *phost, uint8_t s)
 
static void EVE_CoDl_stencilMask (EVE_HalContext *phost, uint8_t mask)
 
static void EVE_CoDl_tagMask (EVE_HalContext *phost, bool mask)
 
static void EVE_CoDl_bitmapTransformA (EVE_HalContext *phost, uint16_t v)
 
static void EVE_CoDl_bitmapTransformA_ex (EVE_HalContext *phost, bool p, uint16_t v)
 
static void EVE_CoDl_bitmapTransformB (EVE_HalContext *phost, uint16_t v)
 
static void EVE_CoDl_bitmapTransformB_ex (EVE_HalContext *phost, bool p, uint16_t v)
 
static void EVE_CoDl_bitmapTransformC (EVE_HalContext *phost, uint32_t v)
 
static void EVE_CoDl_bitmapTransformD (EVE_HalContext *phost, uint16_t v)
 
static void EVE_CoDl_bitmapTransformD_ex (EVE_HalContext *phost, bool p, uint16_t v)
 
static void EVE_CoDl_bitmapTransformE (EVE_HalContext *phost, uint16_t v)
 
static void EVE_CoDl_bitmapTransformE_ex (EVE_HalContext *phost, bool p, uint16_t v)
 
static void EVE_CoDl_bitmapTransformF (EVE_HalContext *phost, uint32_t v)
 
static void EVE_CoDl_bitmapTransform_ex (EVE_HalContext *phost, bool p, uint16_t a, uint16_t b, uint32_t c, uint16_t d, uint16_t e, uint32_t f)
 
static void EVE_CoDl_bitmapTransform_identity (EVE_HalContext *phost)
 
static void EVE_CoDl_scissorXY (EVE_HalContext *phost, uint16_t x, uint16_t y)
 
static void EVE_CoDl_scissorSize (EVE_HalContext *phost, uint16_t width, uint16_t height)
 
static void EVE_CoDl_call (EVE_HalContext *phost, uint16_t dest)
 
static void EVE_CoDl_jump (EVE_HalContext *phost, uint16_t dest)
 
static void EVE_CoDl_begin (EVE_HalContext *phost, uint8_t prim)
 
static void EVE_CoDl_colorMask (EVE_HalContext *phost, bool r, bool g, bool b, bool a)
 
static void EVE_CoDl_end (EVE_HalContext *phost)
 
static void EVE_CoDl_saveContext (EVE_HalContext *phost)
 Save EVE context, see SAVE_CONTEXT.
 
static void EVE_CoDl_restoreContext (EVE_HalContext *phost)
 Restore EVE context, see RESTORE_CONTEXT.
 
static void EVE_CoDl_return (EVE_HalContext *phost)
 
static void EVE_CoDl_macro (EVE_HalContext *phost, uint16_t m)
 
static void EVE_CoDl_clear (EVE_HalContext *phost, bool c, bool s, bool t)
 
static void EVE_CoDl_vertexFormat (EVE_HalContext *phost, uint8_t frac)
 
static void EVE_CoDl_paletteSource (EVE_HalContext *phost, uint32_t addr)
 Set palette source, see PALETTE_SOURCE command.
 
static void EVE_CoDl_vertexTranslateX (EVE_HalContext *phost, int16_t x)
 
static void EVE_CoDl_vertexTranslateY (EVE_HalContext *phost, int16_t y)
 
static void EVE_CoDl_nop (EVE_HalContext *phost)
 
static void EVE_CoDl_bitmapExtFormat (EVE_HalContext *phost, uint16_t format)
 
static void EVE_CoDl_bitmapSwizzle (EVE_HalContext *phost, uint8_t r, uint8_t g, uint8_t b, uint8_t a)
 
static void EVE_CoDl_vertex2f_4 (EVE_HalContext *phost, int16_t x, int16_t y)
 Fixed point vertex using 4 bits subprecision.
 
static void EVE_CoDl_vertex2f_2 (EVE_HalContext *phost, int16_t x, int16_t y)
 Fixed point vertex using 2 bits subprecision.
 
static void EVE_CoDl_vertex2f_0 (EVE_HalContext *phost, int16_t x, int16_t y)
 Fixed point vertex using 0 bits subprecision, or integer point vertex.
 

Detailed Description

EVE's co-processor command.

The purpose of this header is to provide a simplified interface to display list instructions. The functions do not match 1:1 with the display list instructions. Some instructions are combined to simplify compatibility between platforms. (For example, BITMAP_SIZE and BITMAP_SIZE_H.) All functions write to the display list through EVE_CoCmd_dl.

If EVE_DL_OPTIMIZE is set to 1 in EVE_Config, these functions will ignore duplicate calls. To bypass optmization, call EVE_CoCmd_dl directly (within a subroutine or saved context.)

If ESD_DL_END_PRIMITIVE is set to 0 in EVE_Config, the END() instruction will be avoided.

Compatibility:

  • EVE_CoDl_vertexFormat and EVE_CoDl_vertex2f implement fallback functionality for VERTEX_FORMAT, VERTEX_TRANSLATE_X, and VERTEX_TRANSLATE_Y on FT80X series.
  • EVE_CoDl_bitmapSize calls BITMAP_SIZE_H on FT81X series and higher.
  • EVE_CoDl_bitmapLayout calls BITMAP_LAYOUT_H on FT81X series and higher.
Author
Bridgetek
Date
2018

MIT License

Copyright (c) [2019] [Bridgetek Pte Ltd (BRTChip)]

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Definition in file EVE_CoDl.h.

Macro Definition Documentation

◆ EVE_VERTEX2F_MAX

#define EVE_VERTEX2F_MAX   16383L

Definition at line 54 of file EVE_CoDl.h.

◆ EVE_VERTEX2F_MIN

#define EVE_VERTEX2F_MIN   -16384L

Definition at line 53 of file EVE_CoDl.h.

◆ EVE_VERTEX2II_MAX

#define EVE_VERTEX2II_MAX   511UL

Definition at line 56 of file EVE_CoDl.h.

◆ EVE_VERTEX2II_MIN

#define EVE_VERTEX2II_MIN   0UL

Definition at line 55 of file EVE_CoDl.h.

Function Documentation

◆ EVE_CoDl_alphaFunc()

static void EVE_CoDl_alphaFunc ( EVE_HalContext phost,
uint8_t  func,
uint8_t  ref 
)
inlinestatic
Parameters
phostPointer to Hal context
func
ref

Definition at line 399 of file EVE_CoDl.h.

400{
401 EVE_CoCmd_dl(phost, ALPHA_FUNC(func, ref));
402}
static void EVE_CoCmd_dl(EVE_HalContext *phost, uint32_t dl)
Write a display list instruction. Example: EVE_CoCmd_dl(DISPLAY());.
Definition EVE_CoCmd.h:117
#define ALPHA_FUNC(func, ref)

◆ EVE_CoDl_begin()

static void EVE_CoDl_begin ( EVE_HalContext phost,
uint8_t  prim 
)
inlinestatic
Parameters
phostPointer to Hal context
prim

Definition at line 751 of file EVE_CoDl.h.

752{
753#if EVE_DL_OPTIMIZE
754 /* For continuous primitives, reset the active primitive. */
755 uint8_t oldPrim = phost->DlPrimitive;
756 switch (oldPrim)
757 {
758 case LINE_STRIP:
759 case EDGE_STRIP_R:
760 case EDGE_STRIP_L:
761 case EDGE_STRIP_A:
762 case EDGE_STRIP_B:
763 oldPrim = 0;
764 break;
765 default:
766 break;
767 }
768 if (prim != oldPrim)
769 {
770#endif
771 EVE_CoCmd_dl(phost, BEGIN(prim));
772#if EVE_DL_OPTIMIZE
773 phost->DlPrimitive = prim;
774 }
775#endif
776}
#define EDGE_STRIP_B
#define EDGE_STRIP_L
#define BEGIN(prim)
#define EDGE_STRIP_R
#define EDGE_STRIP_A
#define LINE_STRIP
unsigned char uint8_t
uint8_t DlPrimitive

◆ EVE_CoDl_bitmapExtFormat()

static void EVE_CoDl_bitmapExtFormat ( EVE_HalContext phost,
uint16_t  format 
)
inlinestatic
Parameters
phostPointer to Hal context
format

Definition at line 996 of file EVE_CoDl.h.

997{
998#if (EVE_SUPPORT_CHIPID >= EVE_BT815) || defined(EVE_MULTI_GRAPHICS_TARGET)
999 if (EVE_CHIPID >= EVE_BT815)
1000 {
1001 EVE_CoCmd_dl(phost, BITMAP_EXT_FORMAT(format));
1002 }
1003#endif
1004}
#define EVE_BT815
Definition EVE_Config.h:66
#define EVE_CHIPID
#define BITMAP_EXT_FORMAT(format)

◆ EVE_CoDl_bitmapHandle()

static void EVE_CoDl_bitmapHandle ( EVE_HalContext phost,
uint8_t  handle 
)
inlinestatic

Specify bitmap handle, see BITMAP_HANDLE.

Parameters
phostPointer to Hal context
handle

Definition at line 322 of file EVE_CoDl.h.

323{
324#if EVE_DL_OPTIMIZE
325 if (handle != EVE_DL_STATE.Handle)
326 {
327#endif
328 EVE_CoCmd_dl(phost, BITMAP_HANDLE(handle));
329#if EVE_DL_OPTIMIZE
330 EVE_DL_STATE.Handle = handle;
331 }
332#endif
333}
#define BITMAP_HANDLE(handle)
#define EVE_DL_STATE

◆ EVE_CoDl_bitmapLayout()

static void EVE_CoDl_bitmapLayout ( EVE_HalContext phost,
uint8_t  format,
uint16_t  linestride,
uint16_t  height 
)
inlinestatic
Parameters
phostPointer to Hal context
format
linestride
height

Definition at line 364 of file EVE_CoDl.h.

365{
366#if (EVE_SUPPORT_CHIPID >= EVE_FT810)
367 if (EVE_CHIPID >= EVE_FT810)
368 {
369 EVE_CoCmd_dl(phost, BITMAP_LAYOUT_H(linestride >> 10, height >> 9));
370 }
371#endif
372 EVE_CoCmd_dl(phost, BITMAP_LAYOUT(format, linestride, height));
373}
#define EVE_FT810
Definition EVE_Config.h:58
#define BITMAP_LAYOUT(format, linestride, height)
#define BITMAP_LAYOUT_H(linestride, height)

◆ EVE_CoDl_bitmapSize()

static void EVE_CoDl_bitmapSize ( EVE_HalContext phost,
uint8_t  filter,
uint8_t  wrapx,
uint8_t  wrapy,
uint16_t  width,
uint16_t  height 
)
inlinestatic
Parameters
phostPointer to Hal context
filter
wrapx
wrapy
width
height

Definition at line 383 of file EVE_CoDl.h.

384{
385#if (EVE_SUPPORT_CHIPID >= EVE_FT810)
386 if (EVE_CHIPID >= EVE_FT810)
387 {
388 EVE_CoCmd_dl(phost, BITMAP_SIZE_H(width >> 9, height >> 9));
389 }
390#endif
391 EVE_CoCmd_dl(phost, BITMAP_SIZE(filter, wrapx, wrapy, width, height));
392}
#define BITMAP_SIZE_H(width, height)
#define BITMAP_SIZE(filter, wrapx, wrapy, width, height)

◆ EVE_CoDl_bitmapSource()

static void EVE_CoDl_bitmapSource ( EVE_HalContext phost,
uint32_t  addr 
)
inlinestatic
Parameters
phostPointer to Hal context
addr

Definition at line 145 of file EVE_CoDl.h.

146{
148}
#define BITMAP_SOURCE(addr)
static ft_uint32_t addr
Definition FT_Gpu_Hal.h:139

◆ EVE_CoDl_bitmapSource_ex()

static void EVE_CoDl_bitmapSource_ex ( EVE_HalContext phost,
uint32_t  addr,
bool  flash 
)
inlinestatic
Parameters
phostPointer to Hal context
addr
flash

Definition at line 155 of file EVE_CoDl.h.

156{
157 EVE_CoCmd_dl(phost, BITMAP_SOURCE2(flash, addr));
158}
#define BITMAP_SOURCE2(flash_or_ram, addr)

◆ EVE_CoDl_bitmapSwizzle()

static void EVE_CoDl_bitmapSwizzle ( EVE_HalContext phost,
uint8_t  r,
uint8_t  g,
uint8_t  b,
uint8_t  a 
)
inlinestatic
Parameters
phostPointer to Hal context
r
g
b
a

Definition at line 1013 of file EVE_CoDl.h.

1014{
1015#if (EVE_SUPPORT_CHIPID >= EVE_BT815) || defined(EVE_MULTI_GRAPHICS_TARGET)
1016 if (EVE_CHIPID >= EVE_BT815)
1017 {
1018 EVE_CoCmd_dl(phost, BITMAP_SWIZZLE(r, g, b, a));
1019 }
1020#endif
1021}
static uint32_t a
Definition Common.c:36
static uint32_t b
Definition Common.c:37
#define BITMAP_SWIZZLE(r, g, b, a)

◆ EVE_CoDl_bitmapTransform_ex()

static void EVE_CoDl_bitmapTransform_ex ( EVE_HalContext phost,
bool  p,
uint16_t  a,
uint16_t  b,
uint32_t  c,
uint16_t  d,
uint16_t  e,
uint32_t  f 
)
inlinestatic
Parameters
phostPointer to Hal context
p
a
b
c
d
e
f

Definition at line 653 of file EVE_CoDl.h.

654{
661#if EVE_DL_OPTIMIZE
662 EVE_DL_STATE.BitmapTransform = true;
663#endif
664}
static uint32_t d
Definition Common.c:39
static uint32_t e
Definition Common.c:40
static uint32_t c
Definition Common.c:38
static uint32_t f
Definition Common.c:41
static void EVE_CoDl_bitmapTransformA_ex(EVE_HalContext *phost, bool p, uint16_t v)
Definition EVE_CoDl.h:536
static void EVE_CoDl_bitmapTransformB_ex(EVE_HalContext *phost, bool p, uint16_t v)
Definition EVE_CoDl.h:561
static void EVE_CoDl_bitmapTransformF(EVE_HalContext *phost, uint32_t v)
Definition EVE_CoDl.h:635
static void EVE_CoDl_bitmapTransformD_ex(EVE_HalContext *phost, bool p, uint16_t v)
Definition EVE_CoDl.h:598
static void EVE_CoDl_bitmapTransformE_ex(EVE_HalContext *phost, bool p, uint16_t v)
Definition EVE_CoDl.h:623
static void EVE_CoDl_bitmapTransformC(EVE_HalContext *phost, uint32_t v)
Definition EVE_CoDl.h:573

◆ EVE_CoDl_bitmapTransform_identity()

static void EVE_CoDl_bitmapTransform_identity ( EVE_HalContext phost)
inlinestatic
Parameters
phostPointer to Hal context

Definition at line 669 of file EVE_CoDl.h.

670{
671#if EVE_DL_OPTIMIZE
672 if (EVE_DL_STATE.BitmapTransform)
673 {
674 /* Setting matrix can be skipped if already identity, since it's a no-op */
675#endif
676 EVE_CoDl_bitmapTransformA_ex(phost, 0, 256);
677 EVE_CoDl_bitmapTransformB_ex(phost, 0, 0);
679 EVE_CoDl_bitmapTransformD_ex(phost, 0, 0);
680 EVE_CoDl_bitmapTransformE_ex(phost, 0, 256);
682#if EVE_DL_OPTIMIZE
683 EVE_DL_STATE.BitmapTransform = false;
684 }
685#endif
686}

◆ EVE_CoDl_bitmapTransformA()

static void EVE_CoDl_bitmapTransformA ( EVE_HalContext phost,
uint16_t  v 
)
inlinestatic
Parameters
phostPointer to Hal context
v

Definition at line 523 of file EVE_CoDl.h.

524{
526#if EVE_DL_OPTIMIZE
527 EVE_DL_STATE.BitmapTransform = true;
528#endif
529}
#define BITMAP_TRANSFORM_A(a)

◆ EVE_CoDl_bitmapTransformA_ex()

static void EVE_CoDl_bitmapTransformA_ex ( EVE_HalContext phost,
bool  p,
uint16_t  v 
)
inlinestatic
Parameters
phostPointer to Hal context
p
v

Definition at line 536 of file EVE_CoDl.h.

537{
539#if EVE_DL_OPTIMIZE
540 EVE_DL_STATE.BitmapTransform = true;
541#endif
542}
#define BITMAP_TRANSFORM_A_EXT(p, v)

◆ EVE_CoDl_bitmapTransformB()

static void EVE_CoDl_bitmapTransformB ( EVE_HalContext phost,
uint16_t  v 
)
inlinestatic
Parameters
phostPointer to Hal context
v

Definition at line 548 of file EVE_CoDl.h.

549{
551#if EVE_DL_OPTIMIZE
552 EVE_DL_STATE.BitmapTransform = true;
553#endif
554}
#define BITMAP_TRANSFORM_B(b)

◆ EVE_CoDl_bitmapTransformB_ex()

static void EVE_CoDl_bitmapTransformB_ex ( EVE_HalContext phost,
bool  p,
uint16_t  v 
)
inlinestatic
Parameters
phostPointer to Hal context
p
v

Definition at line 561 of file EVE_CoDl.h.

562{
564#if EVE_DL_OPTIMIZE
565 EVE_DL_STATE.BitmapTransform = true;
566#endif
567}
#define BITMAP_TRANSFORM_B_EXT(p, v)

◆ EVE_CoDl_bitmapTransformC()

static void EVE_CoDl_bitmapTransformC ( EVE_HalContext phost,
uint32_t  v 
)
inlinestatic
Parameters
phostPointer to Hal context
v

Definition at line 573 of file EVE_CoDl.h.

574{
576#if EVE_DL_OPTIMIZE
577 EVE_DL_STATE.BitmapTransform = true;
578#endif
579}
#define BITMAP_TRANSFORM_C(c)

◆ EVE_CoDl_bitmapTransformD()

static void EVE_CoDl_bitmapTransformD ( EVE_HalContext phost,
uint16_t  v 
)
inlinestatic
Parameters
phostPointer to Hal context
v

Definition at line 585 of file EVE_CoDl.h.

586{
588#if EVE_DL_OPTIMIZE
589 EVE_DL_STATE.BitmapTransform = true;
590#endif
591}
#define BITMAP_TRANSFORM_D(d)

◆ EVE_CoDl_bitmapTransformD_ex()

static void EVE_CoDl_bitmapTransformD_ex ( EVE_HalContext phost,
bool  p,
uint16_t  v 
)
inlinestatic
Parameters
phostPointer to Hal context
p
v

Definition at line 598 of file EVE_CoDl.h.

599{
601#if EVE_DL_OPTIMIZE
602 EVE_DL_STATE.BitmapTransform = true;
603#endif
604}
#define BITMAP_TRANSFORM_D_EXT(p, v)

◆ EVE_CoDl_bitmapTransformE()

static void EVE_CoDl_bitmapTransformE ( EVE_HalContext phost,
uint16_t  v 
)
inlinestatic
Parameters
phostPointer to Hal context
v

Definition at line 610 of file EVE_CoDl.h.

611{
613#if EVE_DL_OPTIMIZE
614 EVE_DL_STATE.BitmapTransform = true;
615#endif
616}
#define BITMAP_TRANSFORM_E(e)

◆ EVE_CoDl_bitmapTransformE_ex()

static void EVE_CoDl_bitmapTransformE_ex ( EVE_HalContext phost,
bool  p,
uint16_t  v 
)
inlinestatic
Parameters
phostPointer to Hal context
p
v

Definition at line 623 of file EVE_CoDl.h.

624{
626#if EVE_DL_OPTIMIZE
627 EVE_DL_STATE.BitmapTransform = true;
628#endif
629}
#define BITMAP_TRANSFORM_E_EXT(p, v)

◆ EVE_CoDl_bitmapTransformF()

static void EVE_CoDl_bitmapTransformF ( EVE_HalContext phost,
uint32_t  v 
)
inlinestatic
Parameters
phostPointer to Hal context
v

Definition at line 635 of file EVE_CoDl.h.

636{
638#if EVE_DL_OPTIMIZE
639 EVE_DL_STATE.BitmapTransform = true;
640#endif
641}
#define BITMAP_TRANSFORM_F(f)

◆ EVE_CoDl_blendFunc()

static void EVE_CoDl_blendFunc ( EVE_HalContext phost,
uint8_t  src,
uint8_t  dst 
)
inlinestatic
Parameters
phostPointer to Hal context
src
dst

Definition at line 420 of file EVE_CoDl.h.

421{
422 EVE_CoCmd_dl(phost, BLEND_FUNC(src, dst));
423}
#define BLEND_FUNC(src, dst)

◆ EVE_CoDl_blendFunc_default()

static void EVE_CoDl_blendFunc_default ( EVE_HalContext phost)
inlinestatic
Parameters
phostPointer to Hal context

Definition at line 428 of file EVE_CoDl.h.

429{
430 EVE_CoDl_blendFunc(phost, SRC_ALPHA, ONE_MINUS_SRC_ALPHA); // TODO: Add default calls for all display list state instructions
431}
static void EVE_CoDl_blendFunc(EVE_HalContext *phost, uint8_t src, uint8_t dst)
Definition EVE_CoDl.h:420
#define SRC_ALPHA
#define ONE_MINUS_SRC_ALPHA

◆ EVE_CoDl_call()

static void EVE_CoDl_call ( EVE_HalContext phost,
uint16_t  dest 
)
inlinestatic
Parameters
phostPointer to Hal context
dest

Definition at line 730 of file EVE_CoDl.h.

731{
732 EVE_CoCmd_dl(phost, CALL(dest));
733}
#define CALL(dest)

◆ EVE_CoDl_cell()

static void EVE_CoDl_cell ( EVE_HalContext phost,
uint8_t  cell 
)
inlinestatic

Specify cell number for bitmap, see CELL.

Parameters
phostPointer to Hal context
cell

Definition at line 345 of file EVE_CoDl.h.

346{
347#if EVE_DL_OPTIMIZE
348 if (cell != EVE_DL_STATE.Cell)
349 {
350#endif
351 EVE_CoCmd_dl(phost, CELL(cell));
352#if EVE_DL_OPTIMIZE
353 EVE_DL_STATE.Cell = cell;
354 }
355#endif
356}
#define CELL(cell)

◆ EVE_CoDl_clear()

static void EVE_CoDl_clear ( EVE_HalContext phost,
bool  c,
bool  s,
bool  t 
)
inlinestatic
Parameters
phostPointer to Hal context
cclear color
sclear stencil
tclear tag

Definition at line 875 of file EVE_CoDl.h.

876{
877 EVE_CoCmd_dl(phost, CLEAR(c, s, t));
878}
#define CLEAR(c, s, t)

◆ EVE_CoDl_clearColorA()

static void EVE_CoDl_clearColorA ( EVE_HalContext phost,
uint8_t  alpha 
)
inlinestatic

Specify clear alpha channel.

Parameters
phostPointer to Hal context
alpha

Definition at line 198 of file EVE_CoDl.h.

199{
200 EVE_CoCmd_dl(phost, CLEAR_COLOR_A(alpha));
201}
#define CLEAR_COLOR_A(alpha)

◆ EVE_CoDl_clearColorArgb_ex()

static void EVE_CoDl_clearColorArgb_ex ( EVE_HalContext phost,
uint32_t  c 
)
inlinestatic

Specify clear color: Alpha (bits 31:24) + RGB (bits 23:0)

Parameters
phostPointer to Hal context
cclear color

Definition at line 213 of file EVE_CoDl.h.

214{
216 EVE_CoDl_clearColorA(phost, c >> 24);
217}
static void EVE_CoDl_clearColorRgb_ex(EVE_HalContext *phost, uint32_t c)
Specify clear color RGB.
Definition EVE_CoDl.h:170
static void EVE_CoDl_clearColorA(EVE_HalContext *phost, uint8_t alpha)
Specify clear alpha channel.
Definition EVE_CoDl.h:198

◆ EVE_CoDl_clearColorRgb()

static void EVE_CoDl_clearColorRgb ( EVE_HalContext phost,
uint8_t  r,
uint8_t  g,
uint8_t  b 
)
inlinestatic

Specify clear color RGB.

Parameters
phostPointer to Hal context
r
g
b

Definition at line 183 of file EVE_CoDl.h.

184{
185 EVE_CoCmd_dl(phost, CLEAR_COLOR_RGB(r, g, b));
186}
#define CLEAR_COLOR_RGB(red, green, blue)

◆ EVE_CoDl_clearColorRgb_ex()

static void EVE_CoDl_clearColorRgb_ex ( EVE_HalContext phost,
uint32_t  c 
)
inlinestatic

Specify clear color RGB.

Parameters
phostPointer to Hal context
cclear color

Definition at line 170 of file EVE_CoDl.h.

171{
172 EVE_CoCmd_dl(phost, CLEAR_COLOR_RGB(0, 0, 0) | (c & 0xFFFFFF));
173}

◆ EVE_CoDl_clearStencil()

static void EVE_CoDl_clearStencil ( EVE_HalContext phost,
uint8_t  s 
)
inlinestatic
Parameters
phostPointer to Hal context
s

Definition at line 487 of file EVE_CoDl.h.

488{
489 EVE_CoCmd_dl(phost, CLEAR_STENCIL(s));
490}
#define CLEAR_STENCIL(s)

◆ EVE_CoDl_clearTag()

static void EVE_CoDl_clearTag ( EVE_HalContext phost,
uint8_t  s 
)
inlinestatic
Parameters
phostPointer to Hal context
s

Definition at line 496 of file EVE_CoDl.h.

497{
498 EVE_CoCmd_dl(phost, CLEAR_TAG(s));
499}
#define CLEAR_TAG(s)

◆ EVE_CoDl_colorA()

static void EVE_CoDl_colorA ( EVE_HalContext phost,
uint8_t  alpha 
)
inlinestatic

Specify alpha channel.

Parameters
phostPointer to Hal context
alpha

Definition at line 283 of file EVE_CoDl.h.

284{
285#if EVE_DL_OPTIMIZE
286 if (alpha != EVE_DL_STATE.ColorA)
287 {
288#endif
289 EVE_CoCmd_dl(phost, COLOR_A(alpha));
290#if EVE_DL_OPTIMIZE
291 EVE_DL_STATE.ColorA = alpha;
292 }
293#endif
294}
#define COLOR_A(alpha)

◆ EVE_CoDl_colorArgb_ex()

static void EVE_CoDl_colorArgb_ex ( EVE_HalContext phost,
uint32_t  c 
)
inlinestatic

Specify color: Alpha (bits 31:24) + RGB (bits 23:0)

Parameters
phostPointer to Hal context
c

Definition at line 306 of file EVE_CoDl.h.

307{
308 EVE_CoDl_colorRgb_ex(phost, c);
309 EVE_CoDl_colorA(phost, c >> 24);
310}
static void EVE_CoDl_colorRgb_ex(EVE_HalContext *phost, uint32_t c)
Specify color RGB.
Definition EVE_CoDl.h:245
static void EVE_CoDl_colorA(EVE_HalContext *phost, uint8_t alpha)
Specify alpha channel.
Definition EVE_CoDl.h:283

◆ EVE_CoDl_colorMask()

static void EVE_CoDl_colorMask ( EVE_HalContext phost,
bool  r,
bool  g,
bool  b,
bool  a 
)
inlinestatic
Parameters
phostPointer to Hal context
r
g
b
a

Definition at line 785 of file EVE_CoDl.h.

786{
787 EVE_CoCmd_dl(phost, COLOR_MASK(r, g, b, a));
788}
#define COLOR_MASK(r, g, b, a)

◆ EVE_CoDl_colorRgb()

static void EVE_CoDl_colorRgb ( EVE_HalContext phost,
uint8_t  r,
uint8_t  g,
uint8_t  b 
)
inlinestatic

Specify color RGB.

Parameters
phostPointer to Hal context
r
g
b

Definition at line 267 of file EVE_CoDl.h.

268{
269 uint32_t rgb = ((uint32_t)r << 16) | ((uint32_t)g << 8) | ((uint32_t)b);
270 EVE_CoDl_colorRgb_ex(phost, rgb);
271}
unsigned int uint32_t

◆ EVE_CoDl_colorRgb_ex()

static void EVE_CoDl_colorRgb_ex ( EVE_HalContext phost,
uint32_t  c 
)
inlinestatic

Specify color RGB.

Parameters
phostPointer to Hal context
c

Definition at line 245 of file EVE_CoDl.h.

246{
247 uint32_t rgb = c & 0xFFFFFF;
248#if EVE_DL_OPTIMIZE
249 if (rgb != EVE_DL_STATE.ColorRGB)
250 {
251#endif
252 EVE_CoCmd_dl(phost, COLOR_RGB(0, 0, 0) | (c & 0xFFFFFF));
253#if EVE_DL_OPTIMIZE
254 EVE_DL_STATE.ColorRGB = rgb;
255 }
256#endif
257}
#define COLOR_RGB(red, green, blue)

◆ EVE_CoDl_display()

static void EVE_CoDl_display ( EVE_HalContext phost)
inlinestatic
Parameters
phostPointer to Hal context

Definition at line 69 of file EVE_CoDl.h.

70{
71 EVE_CoCmd_dl(phost, DISPLAY());
72}
#define DISPLAY()

◆ EVE_CoDl_end()

static void EVE_CoDl_end ( EVE_HalContext phost)
inlinestatic
Parameters
phostPointer to Hal context

Definition at line 795 of file EVE_CoDl.h.

796{
797#if EVE_DL_END_PRIMITIVE || !EVE_DL_OPTIMIZE
798#if EVE_DL_OPTIMIZE
799 if (phost->DlPrimitive != 0)
800 {
801#endif
802 EVE_CoCmd_dl(phost, END());
803#if EVE_DL_OPTIMIZE
804 phost->DlPrimitive = 0;
805 }
806#endif
807#endif
808}
#define END()

◆ EVE_CoDl_jump()

static void EVE_CoDl_jump ( EVE_HalContext phost,
uint16_t  dest 
)
inlinestatic
Parameters
phostPointer to Hal context
dest

Definition at line 739 of file EVE_CoDl.h.

740{
741 EVE_CoCmd_dl(phost, JUMP(dest));
742}
#define JUMP(dest)

◆ EVE_CoDl_lineWidth()

static void EVE_CoDl_lineWidth ( EVE_HalContext phost,
int16_t  width 
)
inlinestatic
Parameters
phostPointer to Hal context
width

Definition at line 470 of file EVE_CoDl.h.

471{
472#if EVE_DL_OPTIMIZE
473 if (width != EVE_DL_STATE.LineWidth)
474 {
475#endif
476 EVE_CoCmd_dl(phost, LINE_WIDTH(width));
477#if EVE_DL_OPTIMIZE
478 EVE_DL_STATE.LineWidth = width;
479 }
480#endif
481}
#define LINE_WIDTH(width)

◆ EVE_CoDl_macro()

static void EVE_CoDl_macro ( EVE_HalContext phost,
uint16_t  m 
)
inlinestatic
Parameters
phostPointer to Hal context
m

Definition at line 859 of file EVE_CoDl.h.

860{
861 EVE_CoCmd_dl(phost, MACRO(m));
862}
#define MACRO(m)

◆ EVE_CoDl_nop()

static void EVE_CoDl_nop ( EVE_HalContext phost)
inlinestatic
Parameters
phostPointer to Hal context

Definition at line 982 of file EVE_CoDl.h.

983{
984#if (EVE_SUPPORT_CHIPID >= EVE_BT815) || defined(EVE_MULTI_GRAPHICS_TARGET)
985 if (EVE_CHIPID >= EVE_BT815)
986 {
987 EVE_CoCmd_dl(phost, NOP());
988 }
989#endif
990}
#define NOP()

◆ EVE_CoDl_paletteSource()

static void EVE_CoDl_paletteSource ( EVE_HalContext phost,
uint32_t  addr 
)
inlinestatic

Set palette source, see PALETTE_SOURCE command.

Parameters
phostPointer to Hal context
addr

Definition at line 919 of file EVE_CoDl.h.

920{
921#if (EVE_SUPPORT_CHIPID >= EVE_FT810)
922 if (EVE_CHIPID >= EVE_FT810)
923 {
924#if EVE_DL_OPTIMIZE
925 if (addr != EVE_DL_STATE.PaletteSource)
926 {
927#endif
929#if EVE_DL_OPTIMIZE
930 EVE_DL_STATE.PaletteSource = addr;
931 }
932#endif
933 }
934#endif
935}
#define PALETTE_SOURCE(addr)

◆ EVE_CoDl_pointSize()

static void EVE_CoDl_pointSize ( EVE_HalContext phost,
int16_t  size 
)
inlinestatic
Parameters
phostPointer to Hal context
size

Definition at line 450 of file EVE_CoDl.h.

451{
452#if EVE_DL_OPTIMIZE
453 if (size != EVE_DL_STATE.PointSize)
454 {
455#endif
456 EVE_CoCmd_dl(phost, POINT_SIZE(size));
457#if EVE_DL_OPTIMIZE
458 EVE_DL_STATE.PointSize = size;
459 }
460#endif
461}
#define POINT_SIZE(size)

◆ EVE_CoDl_restoreContext()

static void EVE_CoDl_restoreContext ( EVE_HalContext phost)
inlinestatic

Restore EVE context, see RESTORE_CONTEXT.

Parameters
phostPointer to Hal context

Definition at line 839 of file EVE_CoDl.h.

840{
842#if (EVE_DL_OPTIMIZE) || (EVE_DL_CACHE_SCISSOR) || (EVE_SUPPORT_CHIPID < EVE_FT810) || defined(EVE_MULTI_GRAPHICS_TARGET)
843 phost->DlStateIndex = (phost->DlStateIndex - 1) & EVE_DL_STATE_STACK_MASK;
844#endif
845}
#define EVE_DL_STATE_STACK_MASK
#define RESTORE_CONTEXT()
uint8_t DlStateIndex

◆ EVE_CoDl_return()

static void EVE_CoDl_return ( EVE_HalContext phost)
inlinestatic
Parameters
phostPointer to Hal context

Definition at line 850 of file EVE_CoDl.h.

851{
852 EVE_CoCmd_dl(phost, RETURN());
853}
#define RETURN()

◆ EVE_CoDl_saveContext()

static void EVE_CoDl_saveContext ( EVE_HalContext phost)
inlinestatic

Save EVE context, see SAVE_CONTEXT.

Parameters
phostPointer to Hal context

Definition at line 818 of file EVE_CoDl.h.

819{
820#if (EVE_DL_OPTIMIZE) || (EVE_DL_CACHE_SCISSOR) || (EVE_SUPPORT_CHIPID < EVE_FT810) || defined(EVE_MULTI_GRAPHICS_TARGET)
821 uint8_t nextState;
822#endif
823 EVE_CoCmd_dl(phost, SAVE_CONTEXT());
824#if (EVE_DL_OPTIMIZE) || (EVE_DL_CACHE_SCISSOR) || (EVE_SUPPORT_CHIPID < EVE_FT810) || defined(EVE_MULTI_GRAPHICS_TARGET)
825 nextState = (phost->DlStateIndex + 1) & EVE_DL_STATE_STACK_MASK;
826 phost->DlState[nextState] = phost->DlState[phost->DlStateIndex];
827 phost->DlStateIndex = nextState;
828#endif
829}
#define SAVE_CONTEXT()
EVE_HalDlState DlState[EVE_DL_STATE_STACK_SIZE]

◆ EVE_CoDl_scissorSize()

static void EVE_CoDl_scissorSize ( EVE_HalContext phost,
uint16_t  width,
uint16_t  height 
)
inlinestatic
Parameters
phostPointer to Hal context
width
height

Definition at line 712 of file EVE_CoDl.h.

713{
714#if EVE_DL_OPTIMIZE && EVE_DL_CACHE_SCISSOR
715 if (EVE_DL_STATE.ScissorWidth != width || EVE_DL_STATE.ScissorHeight != height)
716#endif
717 {
718 EVE_CoCmd_dl(phost, SCISSOR_SIZE(width, height));
719#if EVE_DL_CACHE_SCISSOR
720 EVE_DL_STATE.ScissorWidth = width;
721 EVE_DL_STATE.ScissorHeight = height;
722#endif
723 }
724}
#define SCISSOR_SIZE(width, height)

◆ EVE_CoDl_scissorXY()

static void EVE_CoDl_scissorXY ( EVE_HalContext phost,
uint16_t  x,
uint16_t  y 
)
inlinestatic
Parameters
phostPointer to Hal context
x
y

Definition at line 693 of file EVE_CoDl.h.

694{
695#if EVE_DL_OPTIMIZE && EVE_DL_CACHE_SCISSOR
696 if (EVE_DL_STATE.ScissorX != x || EVE_DL_STATE.ScissorY != y)
697#endif
698 {
699 EVE_CoCmd_dl(phost, SCISSOR_XY(x, y));
700#if EVE_DL_CACHE_SCISSOR
701 EVE_DL_STATE.ScissorX = x;
702 EVE_DL_STATE.ScissorY = y;
703#endif
704 }
705}
#define SCISSOR_XY(x, y)

◆ EVE_CoDl_stencilFunc()

static void EVE_CoDl_stencilFunc ( EVE_HalContext phost,
uint8_t  func,
uint8_t  ref,
uint8_t  mask 
)
inlinestatic
Parameters
phostPointer to Hal context
func
ref
mask

Definition at line 410 of file EVE_CoDl.h.

411{
412 EVE_CoCmd_dl(phost, STENCIL_FUNC(func, ref, mask));
413}
#define STENCIL_FUNC(func, ref, mask)

◆ EVE_CoDl_stencilMask()

static void EVE_CoDl_stencilMask ( EVE_HalContext phost,
uint8_t  mask 
)
inlinestatic
Parameters
phostPointer to Hal context
mask

Definition at line 505 of file EVE_CoDl.h.

506{
507 EVE_CoCmd_dl(phost, STENCIL_MASK(mask));
508}
#define STENCIL_MASK(mask)

◆ EVE_CoDl_stencilOp()

static void EVE_CoDl_stencilOp ( EVE_HalContext phost,
uint8_t  sfail,
uint8_t  spass 
)
inlinestatic
Parameters
phostPointer to Hal context
sfail
spass

Definition at line 438 of file EVE_CoDl.h.

439{
440 EVE_CoCmd_dl(phost, STENCIL_OP(sfail, spass));
441}
#define STENCIL_OP(sfail, spass)

◆ EVE_CoDl_tag()

static void EVE_CoDl_tag ( EVE_HalContext phost,
uint8_t  s 
)
inlinestatic

Set current tag.

Warning
: Must be returned to 255 after usage, to ensure next widgets don't draw with invalid tag
Parameters
phostPointer to Hal context
s

Definition at line 230 of file EVE_CoDl.h.

231{
232 EVE_CoCmd_dl(phost, TAG(s));
233}
#define TAG(s)

◆ EVE_CoDl_tagMask()

static void EVE_CoDl_tagMask ( EVE_HalContext phost,
bool  mask 
)
inlinestatic
Parameters
phostPointer to Hal context
mask

Definition at line 514 of file EVE_CoDl.h.

515{
516 EVE_CoCmd_dl(phost, TAG_MASK(mask));
517}
#define TAG_MASK(mask)

◆ EVE_CoDl_vertex2f()

static void EVE_CoDl_vertex2f ( EVE_HalContext phost,
int16_t  x,
int16_t  y 
)
inlinestatic

Fixed point vertex with subprecision depending on current vertex format.

Parameters
phostPointer to Hal context
x
y

Definition at line 86 of file EVE_CoDl.h.

87{
88#if (EVE_SUPPORT_CHIPID < EVE_FT810) || defined(EVE_MULTI_GRAPHICS_TARGET)
90 {
91 /* Compatibility */
92 x <<= EVE_DL_STATE.VertexFormat; /* 4 - frac */
93 y <<= EVE_DL_STATE.VertexFormat; /* 4 - frac */
94 x += EVE_DL_STATE.VertexTranslateX;
95 y += EVE_DL_STATE.VertexTranslateY;
96 }
97#endif
98 EVE_CoCmd_dl(phost, VERTEX2F(x, y));
99}
#define VERTEX2F(x, y)

◆ EVE_CoDl_vertex2f_0()

static void EVE_CoDl_vertex2f_0 ( EVE_HalContext phost,
int16_t  x,
int16_t  y 
)
inlinestatic

Fixed point vertex using 0 bits subprecision, or integer point vertex.

Parameters
phostPointer to Hal context
x
y

Definition at line 1079 of file EVE_CoDl.h.

1080{
1081 EVE_CoDl_vertexFormat(phost, 0);
1082 EVE_CoDl_vertex2f(phost, x, y);
1083}
static void EVE_CoDl_vertexFormat(EVE_HalContext *phost, uint8_t frac)
Definition EVE_CoDl.h:884
static void EVE_CoDl_vertex2f(EVE_HalContext *phost, int16_t x, int16_t y)
Fixed point vertex with subprecision depending on current vertex format.
Definition EVE_CoDl.h:86

◆ EVE_CoDl_vertex2f_2()

static void EVE_CoDl_vertex2f_2 ( EVE_HalContext phost,
int16_t  x,
int16_t  y 
)
inlinestatic

Fixed point vertex using 2 bits subprecision.

Parameters
phostPointer to Hal context
x
y

Definition at line 1061 of file EVE_CoDl.h.

1062{
1063 EVE_CoDl_vertexFormat(phost, 2);
1064 EVE_CoDl_vertex2f(phost, x, y);
1065}

◆ EVE_CoDl_vertex2f_4()

static void EVE_CoDl_vertex2f_4 ( EVE_HalContext phost,
int16_t  x,
int16_t  y 
)
inlinestatic

Fixed point vertex using 4 bits subprecision.

Parameters
phostPointer to Hal context
x
y

Definition at line 1035 of file EVE_CoDl.h.

1036{
1037 if (EVE_CHIPID >= EVE_FT810 && (x > EVE_VERTEX2F_MAX || y > EVE_VERTEX2F_MAX)) /* Support display up to 2048 px */
1038 {
1039 EVE_CoDl_vertexFormat(phost, 3);
1040 EVE_CoDl_vertex2f(phost, x >> 1, y >> 1);
1041 }
1042 else
1043 {
1044 EVE_CoDl_vertexFormat(phost, 4);
1045 EVE_CoDl_vertex2f(phost, x, y);
1046 }
1047}
#define EVE_VERTEX2F_MAX
Definition EVE_CoDl.h:54

◆ EVE_CoDl_vertex2ii()

static void EVE_CoDl_vertex2ii ( EVE_HalContext phost,
uint16_t  x,
uint16_t  y,
uint8_t  handle,
uint8_t  cell 
)
inlinestatic
Parameters
phostPointer to Hal context
x
y
handle
cell

Definition at line 126 of file EVE_CoDl.h.

127{
128#if (EVE_SUPPORT_CHIPID < EVE_FT810) || defined(EVE_MULTI_GRAPHICS_TARGET)
129 if (EVE_CHIPID < EVE_FT810 && (EVE_DL_STATE.VertexTranslateX || EVE_DL_STATE.VertexTranslateY))
130 {
131 /* Compatibility for FT80X series */
132 EVE_CoDlImpl_vertex2ii_translate(phost, x, y, handle, cell);
133 }
134 else
135#endif
136 {
137 EVE_CoCmd_dl(phost, VERTEX2II(x, y, handle, cell));
138 }
139}
#define VERTEX2II(x, y, handle, cell)

◆ EVE_CoDl_vertexFormat()

static void EVE_CoDl_vertexFormat ( EVE_HalContext phost,
uint8_t  frac 
)
inlinestatic
Parameters
phostPointer to Hal context
frac

Definition at line 884 of file EVE_CoDl.h.

885{
886#if (EVE_SUPPORT_CHIPID >= EVE_FT810) || defined(EVE_MULTI_GRAPHICS_TARGET)
887 if (EVE_CHIPID >= EVE_FT810)
888 {
889#if EVE_DL_OPTIMIZE
890 if (frac != EVE_DL_STATE.VertexFormat)
891 {
892#endif
893 EVE_CoCmd_dl(phost, VERTEX_FORMAT(frac));
894#if EVE_DL_OPTIMIZE
895 EVE_DL_STATE.VertexFormat = frac;
896 }
897#endif
898 }
899 else
900#endif
901 {
902#if (EVE_SUPPORT_CHIPID < EVE_FT810) || defined(EVE_MULTI_GRAPHICS_TARGET)
903 /* Compatibility for FT80X series */
904 EVE_DL_STATE.VertexFormat = (4 - frac);
905#endif
906 }
907}
#define VERTEX_FORMAT(frac)

◆ EVE_CoDl_vertexTranslateX()

static void EVE_CoDl_vertexTranslateX ( EVE_HalContext phost,
int16_t  x 
)
inlinestatic
Parameters
phostPointer to Hal context
x

Definition at line 941 of file EVE_CoDl.h.

942{
943#if (EVE_SUPPORT_CHIPID >= EVE_FT810) || defined(EVE_MULTI_GRAPHICS_TARGET)
944 if (EVE_CHIPID >= EVE_FT810)
945 {
947 }
948 else
949#endif
950 {
951#if (EVE_SUPPORT_CHIPID < EVE_FT810) || defined(EVE_MULTI_GRAPHICS_TARGET)
952 /* Compatibility for FT80X series */
953 EVE_DL_STATE.VertexTranslateX = x;
954#endif
955 }
956}
#define VERTEX_TRANSLATE_X(x)

◆ EVE_CoDl_vertexTranslateY()

static void EVE_CoDl_vertexTranslateY ( EVE_HalContext phost,
int16_t  y 
)
inlinestatic
Parameters
phostPointer to Hal context
y

Definition at line 962 of file EVE_CoDl.h.

963{
964#if (EVE_SUPPORT_CHIPID >= EVE_FT810) || defined(EVE_MULTI_GRAPHICS_TARGET)
965 if (EVE_CHIPID >= EVE_FT810)
966 {
968 }
969 else
970#endif
971 {
972#if (EVE_SUPPORT_CHIPID < EVE_FT810) || defined(EVE_MULTI_GRAPHICS_TARGET)
973 /* Compatibility for FT80X series */
974 EVE_DL_STATE.VertexTranslateY = y;
975#endif
976 }
977}
#define VERTEX_TRANSLATE_Y(y)

◆ EVE_CoDlImpl_resetCoState()

EVE_HAL_EXPORT void EVE_CoDlImpl_resetCoState ( EVE_HalContext phost)
Parameters
phostPointer to Hal context

Definition at line 83 of file EVE_CoDl.c.

84{
85#if (EVE_DL_OPTIMIZE)
86 phost->CoFgColor = 0x003870;
87 phost->CoBgColor = 0x002040;
88 phost->CoBitmapTransform = false;
89#endif
90
91#if (EVE_SUPPORT_CHIPID >= EVE_FT810)
92 if (EVE_CHIPID >= EVE_FT810)
93 {
94 phost->CoScratchHandle = 15;
95 }
96#endif
97}
uint32_t CoBgColor
uint8_t CoScratchHandle
uint32_t CoFgColor

◆ EVE_CoDlImpl_resetDlState()

EVE_HAL_EXPORT void EVE_CoDlImpl_resetDlState ( EVE_HalContext phost)
Parameters
phostPointer to Hal context

Definition at line 38 of file EVE_CoDl.c.

39{
40#if (EVE_DL_OPTIMIZE) || (EVE_DL_CACHE_SCISSOR) || (EVE_SUPPORT_CHIPID < EVE_FT810) || defined(EVE_MULTI_GRAPHICS_TARGET)
41 phost->DlStateIndex = 0;
42#if defined(_MSC_VER) && (_MSC_VER < 1800)
43 /* Designated initializers not supported in older Visual Studio versions */
44 memset(&phost->DlState[0], 0, sizeof(EVE_HalDlState));
45#if (EVE_DL_OPTIMIZE)
46 phost->DlState[0].LineWidth = 16;
47 phost->DlState[0].PointSize = 16;
48 phost->DlState[0].ColorRGB = 0xFFFFFF;
49 phost->DlState[0].ColorA = 0xFF;
50 phost->DlState[0].Handle = 0x3F; /* Invalid value */
51#endif
52 phost->DlState[0].VertexFormat = 4;
53#else
54 phost->DlState[0] = (EVE_HalDlState)
55 {
56#if (EVE_DL_OPTIMIZE)
57 .LineWidth = 16,
58 .PointSize = 16,
59 .ColorRGB = 0xFFFFFF,
60#endif
61#if (EVE_DL_CACHE_SCISSOR)
62 .ScissorWidth = (uint16_t)phost->Width,
63 .ScissorHeight = (uint16_t)phost->Height,
64#endif
65#if (EVE_DL_OPTIMIZE)
66 .ColorA = 0xFF,
67 .Handle = 0x3F, /* Invalid value */
68#endif
69#if (EVE_DL_OPTIMIZE) || (EVE_SUPPORT_CHIPID < EVE_FT810) || defined(EVE_MULTI_GRAPHICS_TARGET)
70 .VertexFormat = 4,
71#elif (EVE_DL_CACHE_SCISSOR)
72 0
73#endif
74 };
75#endif
76#endif
77
78#if (EVE_DL_OPTIMIZE)
79 phost->DlPrimitive = 0;
80#endif
81}
unsigned short uint16_t
uint32_t Height
int16_t LineWidth
uint8_t VertexFormat
uint32_t ColorRGB
int16_t PointSize