86 static_cast<size_t>(attachment.colorMask) |
87 static_cast<size_t>(attachment.blendData.alphaFactorDst) << 8 |
88 static_cast<size_t>(attachment.blendData.alphaFactorSrc) << 16 |
89 static_cast<size_t>(attachment.blendData.alphaOperation) << 24 |
90 static_cast<size_t>(attachment.blendData.colorFactorDst) << 32 |
91 static_cast<size_t>(attachment.blendData.colorFactorSrc) << 40 |
92 static_cast<size_t>(attachment.blendData.colorOperation) << 48;
101 static_cast<size_t>(pipelineData.cullMode) |
102 static_cast<size_t>(pipelineData.depthCompareOp) << 8 |
103 static_cast<size_t>(pipelineData.primitiveType) << 16 |
104 static_cast<size_t>(pipelineData.polygonFillMode) << 24 |
105 static_cast<size_t>(pipelineData.isDepthTestEnabled ? 1 : 0) << 32 |
106 static_cast<size_t>(pipelineData.isDepthWriteEnabled ? 1 : 0) << 33 |
107 static_cast<size_t>(pipelineData.isStencilEnabled ? 1 : 0) << 34 |
108 static_cast<size_t>(pipelineData.hasDynamicViewport ? 1 : 0) << 35 |
109 static_cast<size_t>(pipelineData.hasDynamicScissor ? 1 : 0) << 36 |
110 static_cast<size_t>(pipelineData.isDepthBiasEnabled ? 1 : 0) << 37 |
111 static_cast<size_t>(pipelineData.isDepthClampEnabled ? 1 : 0) << 38;
113 result ^=
static_cast<size_t>(pipelineData.width) | (
static_cast<size_t>(pipelineData.height) << 32);
114 result ^=
static_cast<size_t>(pipelineData.scissorX) | (
static_cast<size_t>(pipelineData.scissorY) << 32);
115 result ^=
static_cast<size_t>(pipelineData.scissorW) | (
static_cast<size_t>(pipelineData.scissorH) << 32);
116 result ^=
static_cast<size_t>(pipelineData.depthBiasConstantFactor) | (
static_cast<size_t>(pipelineData.depthBiasSlopeFactor) << 32);
117 result ^=
static_cast<size_t>(pipelineData.depthBiasClamp);
119 result ^= pipelineData.colorAttachmentCount;
120 for (uint8_t i = 0; i < pipelineData.colorAttachmentCount; ++i) {
121 result ^= std::hash<Grindstone::GraphicsAPI::GraphicsPipeline::AttachmentData>{}(pipelineData.colorAttachmentData[i]);
124 result ^= pipelineData.shaderStageCreateInfoCount;
125 for (uint8_t i = 0; i < pipelineData.shaderStageCreateInfoCount; ++i) {
126 result ^= std::hash<Grindstone::GraphicsAPI::GraphicsPipeline::ShaderStageData>{}(pipelineData.shaderStageCreateInfos[i]);