Commit 831e1d94 authored by Jeffrey Lee's avatar Jeffrey Lee

Palette/gamma optimisations

Detail:
  s/vdu/vdupalxx:
  - Fix conditional code sequence in PV_BulkWrite which meant that the greyscale palette flag was being recalculated when the border or pointer colour was changed.
  - Change PV_1stFlashState / PV_2ndFlashState to act as NOPs in true colour modes, which helps to avoid regular redundant gamma table updates (due to the flashing colour logic in the VSync handler).
Admin:
  Tested on Raspberry Pi 3


Version 6.18. Tagged as 'Kernel-6_18'
parent 1b15fced
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "6.17"
Module_Version SETA 617
Module_MajorVersion SETS "6.18"
Module_Version SETA 618
Module_MinorVersion SETS ""
Module_Date SETS "29 Nov 2018"
Module_ApplicationDate SETS "29-Nov-18"
Module_Date SETS "20 Jan 2019"
Module_ApplicationDate SETS "20-Jan-19"
Module_ComponentName SETS "Kernel"
Module_ComponentPath SETS "apache/RiscOS/Sources/Kernel"
Module_FullVersion SETS "6.17"
Module_HelpVersion SETS "6.17 (29 Nov 2018)"
Module_FullVersion SETS "6.18"
Module_HelpVersion SETS "6.18 (20 Jan 2019)"
END
/* (6.17)
/* (6.18)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 6.17
#define Module_MajorVersion_CMHG 6.18
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 29 Nov 2018
#define Module_Date_CMHG 20 Jan 2019
#define Module_MajorVersion "6.17"
#define Module_Version 617
#define Module_MajorVersion "6.18"
#define Module_Version 618
#define Module_MinorVersion ""
#define Module_Date "29 Nov 2018"
#define Module_Date "20 Jan 2019"
#define Module_ApplicationDate "29-Nov-18"
#define Module_ApplicationDate "20-Jan-19"
#define Module_ComponentName "Kernel"
#define Module_ComponentPath "apache/RiscOS/Sources/Kernel"
#define Module_FullVersion "6.17"
#define Module_HelpVersion "6.17 (29 Nov 2018)"
#define Module_LibraryVersionInfo "6:17"
#define Module_FullVersion "6.18"
#define Module_HelpVersion "6.18 (20 Jan 2019)"
#define Module_LibraryVersionInfo "6:18"
......@@ -426,7 +426,7 @@ PV_BulkWrite ROUT
; Update greyscale palette mode flag as appropriate
LDR r2, [WsPtr, #DisplayNColour]
CMP r7, #19
CMP r2, #256
CMPLO r2, #256
BHS %FT90
PHPSEI
LDR r7, [WsPtr, #DisplayModeFlags]
......@@ -971,6 +971,9 @@ PV_1stFlashState ROUT
ADDEQ r1, r1, #Pal_PhysFirst - Pal_LogFirst ; move pointer to physical palette copy
LDRNE r1, [WsPtr, #BlankPalAddr]
DoR0Flash
LDR r0, [WsPtr, #DisplayNColour]
CMP r0, #256
EXIT HS ; In > 256 colour modes, this is gamma (which shouldn't flash)
MOV r0, #0 ; type 0 (normal)
MOV r2, #0 ; start at entry 0
MOV r3, #256 ; 256 entries
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment