48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #include "pipeline.h"
 | |
| 
 | |
| void kinc_g5_internal_pipeline_init(kinc_g5_pipeline_t *pipe) {
 | |
| 	for (int i = 0; i < 16; ++i)
 | |
| 		pipe->inputLayout[i] = NULL;
 | |
| 	pipe->vertexShader = NULL;
 | |
| 	pipe->fragmentShader = NULL;
 | |
| 	pipe->geometryShader = NULL;
 | |
| 	pipe->tessellationControlShader = NULL;
 | |
| 	pipe->tessellationEvaluationShader = NULL;
 | |
| 
 | |
| 	pipe->cullMode = KINC_G5_CULL_MODE_NEVER;
 | |
| 
 | |
| 	pipe->depthWrite = false;
 | |
| 	pipe->depthMode = KINC_G5_COMPARE_MODE_ALWAYS;
 | |
| 
 | |
| 	pipe->stencilMode = KINC_G5_COMPARE_MODE_ALWAYS;
 | |
| 	pipe->stencilBothPass = KINC_G5_STENCIL_ACTION_KEEP;
 | |
| 	pipe->stencilDepthFail = KINC_G5_STENCIL_ACTION_KEEP;
 | |
| 	pipe->stencilFail = KINC_G5_STENCIL_ACTION_KEEP;
 | |
| 	pipe->stencilReferenceValue = 0;
 | |
| 	pipe->stencilReadMask = 0xff;
 | |
| 	pipe->stencilWriteMask = 0xff;
 | |
| 
 | |
| 	pipe->blend_source = KINC_G5_BLEND_ONE;
 | |
| 	pipe->blend_destination = KINC_G5_BLEND_ZERO;
 | |
| 	pipe->blend_operation = KINC_G5_BLENDOP_ADD;
 | |
| 	pipe->alpha_blend_source = KINC_G5_BLEND_ONE;
 | |
| 	pipe->alpha_blend_destination = KINC_G5_BLEND_ZERO;
 | |
| 	pipe->alpha_blend_operation = KINC_G5_BLENDOP_ADD;
 | |
| 
 | |
| 	for (int i = 0; i < 8; ++i)
 | |
| 		pipe->colorWriteMaskRed[i] = true;
 | |
| 	for (int i = 0; i < 8; ++i)
 | |
| 		pipe->colorWriteMaskGreen[i] = true;
 | |
| 	for (int i = 0; i < 8; ++i)
 | |
| 		pipe->colorWriteMaskBlue[i] = true;
 | |
| 	for (int i = 0; i < 8; ++i)
 | |
| 		pipe->colorWriteMaskAlpha[i] = true;
 | |
| 
 | |
| 	pipe->colorAttachmentCount = 1;
 | |
| 	for (int i = 0; i < 8; ++i)
 | |
| 		pipe->colorAttachment[i] = KINC_G5_RENDER_TARGET_FORMAT_32BIT;
 | |
| 
 | |
| 	pipe->depthAttachmentBits = 0;
 | |
| 	pipe->stencilAttachmentBits = 0;
 | |
| }
 |