Make the number of vertex outputs configurable. Change-Id: I17ae53e5274232e9e3b482daac56d507788e822c Reviewed-on: https://swiftshader-review.googlesource.com/5383 Reviewed-by: Alexis Hétu <sugoi@google.com> Reviewed-by: Nicolas Capens <capn@google.com> Tested-by: Nicolas Capens <capn@google.com>
diff --git a/src/Renderer/Renderer.cpp b/src/Renderer/Renderer.cpp index 40d9de6..712d74a 100644 --- a/src/Renderer/Renderer.cpp +++ b/src/Renderer/Renderer.cpp
@@ -400,7 +400,7 @@ draw->pUniformBuffers[i] = nullptr; } } - + if(context->pixelShaderVersion() <= 0x0104) { for(int stage = 0; stage < 8; stage++) @@ -736,7 +736,7 @@ } } } - + // Find primitive tasks if(currentDraw == nextDraw) { @@ -837,7 +837,7 @@ case Task::PRIMITIVES: { int unit = task[threadIndex].primitiveUnit; - + int input = primitiveProgress[unit].firstPrimitive; int count = primitiveProgress[unit].primitiveCount; DrawCall *draw = drawList[primitiveProgress[unit].drawCall % DRAW_COUNT]; @@ -1571,7 +1571,7 @@ return visible; } - + int Renderer::setupVertexTriangle(Renderer *renderer, int unit, int count) { Triangle *triangle = renderer->triangleBatch[unit]; @@ -1878,7 +1878,7 @@ int pts = state.pointSizeRegister; - if(state.pointSizeRegister != 0xF) + if(state.pointSizeRegister != Unused) { pSize = v.v[pts].y; } @@ -1937,7 +1937,7 @@ return false; } } - + return setupRoutine(&primitive, &triangle, &polygon, &data); } @@ -2002,7 +2002,7 @@ exitThreads = true; resume[thread]->signal(); worker[thread]->join(); - + delete worker[thread]; worker[thread] = 0; delete resume[thread]; @@ -2010,7 +2010,7 @@ delete suspend[thread]; suspend[thread] = 0; } - + deallocate(vertexTask[thread]); vertexTask[thread] = 0; } @@ -2137,7 +2137,7 @@ return true; } } - + if(context->depthBuffer && context->texture[sampler] == context->depthBuffer->getResource()) { return true; @@ -2145,7 +2145,7 @@ return false; } - + void Renderer::updateClipper() { if(updateClipPlanes) @@ -2185,7 +2185,7 @@ void Renderer::setTextureLevel(unsigned int sampler, unsigned int face, unsigned int level, Surface *surface, TextureType type) { ASSERT(sampler < TOTAL_IMAGE_UNITS && face < 6 && level < MIPMAP_LEVELS); - + context->sampler[sampler].setTextureLevel(face, level, surface, type); } @@ -2530,7 +2530,7 @@ { queries.push_back(query); } - + void Renderer::removeQuery(Query *query) { queries.remove(query); @@ -2541,7 +2541,7 @@ { return threadCount; } - + int64_t Renderer::getVertexTime(int thread) { return vertexTime[thread]; @@ -2551,7 +2551,7 @@ { return setupTime[thread]; } - + int64_t Renderer::getPixelTime(int thread) { return pixelTime[thread];