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
|
||||
);
|
||||
|
||||
/* Pushes shader param data to a buffer.
|
||||
/* Pushes vertex 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_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_GraphicsPipeline *pipeline,
|
||||
void *data,
|
||||
|
|
|
@ -538,7 +538,7 @@ void REFRESH_SetIndexBufferData(
|
|||
);
|
||||
}
|
||||
|
||||
void REFRESH_PushShaderParamData(
|
||||
void REFRESH_PushVertexShaderParams(
|
||||
REFRESH_Device *device,
|
||||
REFRESH_GraphicsPipeline *pipeline,
|
||||
void *data,
|
||||
|
@ -546,7 +546,24 @@ void REFRESH_PushShaderParamData(
|
|||
uint32_t elementSizeInBytes
|
||||
) {
|
||||
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,
|
||||
pipeline,
|
||||
data,
|
||||
|
|
|
@ -360,7 +360,15 @@ struct REFRESH_Device
|
|||
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_GraphicsPipeline *pipeline,
|
||||
void *data,
|
||||
|
@ -533,7 +541,8 @@ struct REFRESH_Device
|
|||
ASSIGN_DRIVER_FUNC(SetTextureDataYUV, name) \
|
||||
ASSIGN_DRIVER_FUNC(SetVertexBufferData, 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(SetFragmentSamplers, name) \
|
||||
ASSIGN_DRIVER_FUNC(GetTextureData2D, name) \
|
||||
|
|
|
@ -3703,7 +3703,17 @@ static void VULKAN_SetIndexBufferData(
|
|||
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_GraphicsPipeline *pipeline,
|
||||
void *data,
|
||||
|
|
Loading…
Reference in New Issue