forked from MoonsideGames/Refresh
splitting up push shader params by stages
parent
4233c7767e
commit
778a8d89bd
|
@ -970,14 +970,29 @@ REFRESHAPI void REFRESH_SetIndexBufferData(
|
||||||
uint32_t dataLength
|
uint32_t dataLength
|
||||||
);
|
);
|
||||||
|
|
||||||
/* Pushes shader param data to a buffer.
|
/* Pushes vertex shader params for subsequent draw calls.
|
||||||
*
|
*
|
||||||
* pipeline: The graphics pipeline to push shader data to.
|
* pipeline: The graphics pipeline to push shader data to.
|
||||||
* data: The client data to write into the buffer.
|
* data: The client data to write into the buffer.
|
||||||
* elementCount: The number of elements from the client buffer to write.
|
* elementCount: The number of elements from the client buffer to write.
|
||||||
* elementSizeInBytes: The size of each element in the client buffer.
|
* elementSizeInBytes: The size of each element in the client buffer.
|
||||||
*/
|
*/
|
||||||
REFRESHAPI void REFRESH_PushShaderParamData(
|
REFRESHAPI void REFRESH_PushVertexShaderParams(
|
||||||
|
REFRESH_Device *device,
|
||||||
|
REFRESH_GraphicsPipeline *pipeline,
|
||||||
|
void *data,
|
||||||
|
uint32_t elementCount,
|
||||||
|
uint32_t elementSizeInBytes
|
||||||
|
);
|
||||||
|
|
||||||
|
/* Pushes fragment shader params for subsequent draw calls.
|
||||||
|
*
|
||||||
|
* pipeline: The graphics pipeline to push shader data to.
|
||||||
|
* data: The client data to write into the buffer.
|
||||||
|
* elementCount: The number of elements from the client buffer to write.
|
||||||
|
* elementSizeInBytes: The size of each element in the client buffer.
|
||||||
|
*/
|
||||||
|
REFRESHAPI void REFRESH_PushFragmentShaderParams(
|
||||||
REFRESH_Device *device,
|
REFRESH_Device *device,
|
||||||
REFRESH_GraphicsPipeline *pipeline,
|
REFRESH_GraphicsPipeline *pipeline,
|
||||||
void *data,
|
void *data,
|
||||||
|
|
|
@ -538,7 +538,7 @@ void REFRESH_SetIndexBufferData(
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void REFRESH_PushShaderParamData(
|
void REFRESH_PushVertexShaderParams(
|
||||||
REFRESH_Device *device,
|
REFRESH_Device *device,
|
||||||
REFRESH_GraphicsPipeline *pipeline,
|
REFRESH_GraphicsPipeline *pipeline,
|
||||||
void *data,
|
void *data,
|
||||||
|
@ -546,7 +546,24 @@ void REFRESH_PushShaderParamData(
|
||||||
uint32_t elementSizeInBytes
|
uint32_t elementSizeInBytes
|
||||||
) {
|
) {
|
||||||
NULL_RETURN(device);
|
NULL_RETURN(device);
|
||||||
device->PushShaderParamData(
|
device->PushVertexShaderParams(
|
||||||
|
device->driverData,
|
||||||
|
pipeline,
|
||||||
|
data,
|
||||||
|
elementCount,
|
||||||
|
elementSizeInBytes
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void REFRESH_PushFragmentShaderParams(
|
||||||
|
REFRESH_Device *device,
|
||||||
|
REFRESH_GraphicsPipeline *pipeline,
|
||||||
|
void *data,
|
||||||
|
uint32_t elementCount,
|
||||||
|
uint32_t elementSizeInBytes
|
||||||
|
) {
|
||||||
|
NULL_RETURN(device);
|
||||||
|
device->PushFragmentShaderParams(
|
||||||
device->driverData,
|
device->driverData,
|
||||||
pipeline,
|
pipeline,
|
||||||
data,
|
data,
|
||||||
|
|
|
@ -360,7 +360,15 @@ struct REFRESH_Device
|
||||||
uint32_t dataLength
|
uint32_t dataLength
|
||||||
);
|
);
|
||||||
|
|
||||||
void(*PushShaderParamData)(
|
void(*PushVertexShaderParams)(
|
||||||
|
REFRESH_Renderer *driverData,
|
||||||
|
REFRESH_GraphicsPipeline *pipeline,
|
||||||
|
void *data,
|
||||||
|
uint32_t elementCount,
|
||||||
|
uint32_t elementSizeInBytes
|
||||||
|
);
|
||||||
|
|
||||||
|
void(*PushFragmentShaderParams)(
|
||||||
REFRESH_Renderer *driverData,
|
REFRESH_Renderer *driverData,
|
||||||
REFRESH_GraphicsPipeline *pipeline,
|
REFRESH_GraphicsPipeline *pipeline,
|
||||||
void *data,
|
void *data,
|
||||||
|
@ -533,7 +541,8 @@ struct REFRESH_Device
|
||||||
ASSIGN_DRIVER_FUNC(SetTextureDataYUV, name) \
|
ASSIGN_DRIVER_FUNC(SetTextureDataYUV, name) \
|
||||||
ASSIGN_DRIVER_FUNC(SetVertexBufferData, name) \
|
ASSIGN_DRIVER_FUNC(SetVertexBufferData, name) \
|
||||||
ASSIGN_DRIVER_FUNC(SetIndexBufferData, name) \
|
ASSIGN_DRIVER_FUNC(SetIndexBufferData, name) \
|
||||||
ASSIGN_DRIVER_FUNC(PushShaderParamData, name) \
|
ASSIGN_DRIVER_FUNC(PushVertexShaderParams, name) \
|
||||||
|
ASSIGN_DRIVER_FUNC(PushFragmentShaderParams, name) \
|
||||||
ASSIGN_DRIVER_FUNC(SetVertexSamplers, name) \
|
ASSIGN_DRIVER_FUNC(SetVertexSamplers, name) \
|
||||||
ASSIGN_DRIVER_FUNC(SetFragmentSamplers, name) \
|
ASSIGN_DRIVER_FUNC(SetFragmentSamplers, name) \
|
||||||
ASSIGN_DRIVER_FUNC(GetTextureData2D, name) \
|
ASSIGN_DRIVER_FUNC(GetTextureData2D, name) \
|
||||||
|
|
|
@ -3703,7 +3703,17 @@ static void VULKAN_SetIndexBufferData(
|
||||||
SDL_assert(0);
|
SDL_assert(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void VULKAN_PushShaderParamData(
|
static void VULKAN_PushVertexShaderParams(
|
||||||
|
REFRESH_Renderer *driverData,
|
||||||
|
REFRESH_GraphicsPipeline *pipeline,
|
||||||
|
void *data,
|
||||||
|
uint32_t elementCount,
|
||||||
|
uint32_t elementSizeInBytes
|
||||||
|
) {
|
||||||
|
SDL_assert(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void VULKAN_PushFragmentShaderParams(
|
||||||
REFRESH_Renderer *driverData,
|
REFRESH_Renderer *driverData,
|
||||||
REFRESH_GraphicsPipeline *pipeline,
|
REFRESH_GraphicsPipeline *pipeline,
|
||||||
void *data,
|
void *data,
|
||||||
|
|
Loading…
Reference in New Issue