mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-09-29 22:48:30 +00:00
Implemented scRGB colorspace and HDR support on macOS
This commit is contained in:
@@ -2288,7 +2288,7 @@ static int D3D12_SetRenderTarget(SDL_Renderer *renderer, SDL_Texture *texture)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int D3D12_QueueSetViewport(SDL_Renderer *renderer, SDL_RenderCommand *cmd)
|
||||
static int D3D12_QueueNoOp(SDL_Renderer *renderer, SDL_RenderCommand *cmd)
|
||||
{
|
||||
return 0; /* nothing to do in this backend. */
|
||||
}
|
||||
@@ -2297,6 +2297,7 @@ static int D3D12_QueueDrawPoints(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
|
||||
{
|
||||
VertexPositionColor *verts = (VertexPositionColor *)SDL_AllocateRenderVertices(renderer, count * sizeof(VertexPositionColor), 0, &cmd->data.draw.first);
|
||||
int i;
|
||||
SDL_FColor color = cmd->data.draw.color;
|
||||
SDL_bool convert_color = SDL_RenderingLinearSpace(renderer);
|
||||
|
||||
if (!verts) {
|
||||
@@ -2305,15 +2306,16 @@ static int D3D12_QueueDrawPoints(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
|
||||
|
||||
cmd->data.draw.count = count;
|
||||
|
||||
if (convert_color) {
|
||||
SDL_ConvertToLinear(&color);
|
||||
}
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
verts->pos.x = points[i].x + 0.5f;
|
||||
verts->pos.y = points[i].y + 0.5f;
|
||||
verts->tex.x = 0.0f;
|
||||
verts->tex.y = 0.0f;
|
||||
verts->color = cmd->data.draw.color;
|
||||
if (convert_color) {
|
||||
SDL_ConvertToLinear(&verts->color);
|
||||
}
|
||||
verts->color = color;
|
||||
verts++;
|
||||
}
|
||||
|
||||
@@ -2775,6 +2777,11 @@ static int D3D12_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
|
||||
break; /* this isn't currently used in this render backend. */
|
||||
}
|
||||
|
||||
case SDL_RENDERCMD_SETCOLORSCALE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
case SDL_RENDERCMD_SETVIEWPORT:
|
||||
{
|
||||
SDL_Rect *viewport = &rendererData->currentViewport;
|
||||
@@ -3168,8 +3175,9 @@ SDL_Renderer *D3D12_CreateRenderer(SDL_Window *window, SDL_PropertiesID create_p
|
||||
renderer->UnlockTexture = D3D12_UnlockTexture;
|
||||
renderer->SetTextureScaleMode = D3D12_SetTextureScaleMode;
|
||||
renderer->SetRenderTarget = D3D12_SetRenderTarget;
|
||||
renderer->QueueSetViewport = D3D12_QueueSetViewport;
|
||||
renderer->QueueSetDrawColor = D3D12_QueueSetViewport; /* SetViewport and SetDrawColor are (currently) no-ops. */
|
||||
renderer->QueueSetViewport = D3D12_QueueNoOp;
|
||||
renderer->QueueSetDrawColor = D3D12_QueueNoOp;
|
||||
renderer->QueueSetColorScale = D3D12_QueueNoOp;
|
||||
renderer->QueueDrawPoints = D3D12_QueueDrawPoints;
|
||||
renderer->QueueDrawLines = D3D12_QueueDrawPoints; /* lines and points queue vertices the same way. */
|
||||
renderer->QueueGeometry = D3D12_QueueGeometry;
|
||||
|
Reference in New Issue
Block a user