-#!/usr/bin/env python
+from __future__ import print_function
from mako.template import Template
from sys import argv
#include <stdint.h>
+#include "config.h"
+#include "errors.h"
#include "format_pack.h"
#include "format_utils.h"
#include "macros.h"
case ${f.name}:
for (i = 0; i < n; ++i) {
pack_ubyte_${f.short_name()}(src[i], d);
- d += ${f.block_size() / 8};
+ d += ${f.block_size() // 8};
}
break;
%endfor
case ${f.name}:
for (i = 0; i < n; ++i) {
pack_uint_${f.short_name()}(src[i], d);
- d += ${f.block_size() / 8};
+ d += ${f.block_size() // 8};
}
break;
%endfor
case ${f.name}:
for (i = 0; i < n; ++i) {
pack_float_${f.short_name()}(src[i], d);
- d += ${f.block_size() / 8};
+ d += ${f.block_size() // 8};
}
break;
%endfor
*d = (GLuint) (*src * scale);
}
+/**
+ ** Pack float to Z_FLOAT32 or Z_FLOAT32_X24S8.
+ **/
+
static void
pack_float_Z_FLOAT32(const GLfloat *src, void *dst)
{
*d = *src;
}
-static void
-pack_uint_Z_FLOAT32(const GLuint *src, void *dst)
-{
- GLuint *d = ((GLuint *) dst);
- const GLdouble scale = 1.0 / (GLdouble) 0xffffffff;
- *d = (GLuint) (*src * scale);
- assert(*d >= 0.0f);
- assert(*d <= 1.0f);
-}
+/**
+ ** Pack uint to Z_FLOAT32 or Z_FLOAT32_X24S8.
+ **/
static void
-pack_uint_Z_FLOAT32_X24S8(const GLuint *src, void *dst)
+pack_uint_Z_FLOAT32(const GLuint *src, void *dst)
{
GLfloat *d = ((GLfloat *) dst);
const GLdouble scale = 1.0 / (GLdouble) 0xffffffff;
case MESA_FORMAT_Z_UNORM32:
return pack_uint_Z_UNORM32;
case MESA_FORMAT_Z_FLOAT32:
- return pack_uint_Z_FLOAT32;
case MESA_FORMAT_Z32_FLOAT_S8X24_UINT:
- return pack_uint_Z_FLOAT32_X24S8;
+ return pack_uint_Z_FLOAT32;
default:
_mesa_problem(NULL, "unexpected format in _mesa_get_pack_uint_z_func()");
return NULL;
}
"""
-template = Template(string);
+template = Template(string, future_imports=['division']);
-print template.render(argv = argv[0:])
+print(template.render(argv = argv[0:]))