On 16 October 2016 at 21:46, Józef Kucia jkucia@codeweavers.com wrote:
-static inline void fixup_transformed_pos(float *p) +static inline unsigned int fixup_transformed_pos(float *p) { /* rhw conversion like in position_float4(). */ if (p[3] != 1.0f && p[3] != 0.0f) @@ -452,6 +454,8 @@ static inline void fixup_transformed_pos(float *p) p[2] *= w; p[3] = w; }
- return 4 * sizeof(*p);
}
Since you're cleaning things up, note that this should probably use struct wined3d_vec4.
for (i = start / buffer->stride; i < min((end / buffer->stride) + 1, vertices); ++i)
for (i = start / buffer->stride; i < min((end / buffer->stride) + 1, vertex_count); ++i) {
for (j = 0; j < buffer->stride; ++j)
for (j = 0; j < buffer->stride;) { switch (buffer->conversion_map[j]) {
In general this conversion code shouldn't be used a lot, but I could imagine it being better to loop over the vertices in the fixup functions instead of in the outer loop.