if (cso->offset_point || cso->offset_line || cso->offset_tri) {
SB_BEGIN_3D(so, POLYGON_OFFSET_FACTOR, 1);
SB_DATA (so, fui(cso->offset_scale));
- SB_BEGIN_3D(so, POLYGON_OFFSET_UNITS, 1);
- SB_DATA (so, fui(cso->offset_units * 2.0f));
+ if (!cso->offset_units_unscaled) {
+ SB_BEGIN_3D(so, POLYGON_OFFSET_UNITS, 1);
+ SB_DATA (so, fui(cso->offset_units * 2.0f));
+ }
SB_BEGIN_3D(so, POLYGON_OFFSET_CLAMP, 1);
SB_DATA (so, fui(cso->offset_clamp));
}
static void
nvc0_set_constant_buffer(struct pipe_context *pipe, uint shader, uint index,
- struct pipe_constant_buffer *cb)
+ const struct pipe_constant_buffer *cb)
{
struct nvc0_context *nvc0 = nvc0_context(pipe);
struct pipe_resource *res = cb ? cb->buffer : NULL;
static bool
nvc0_bind_images_range(struct nvc0_context *nvc0, const unsigned s,
unsigned start, unsigned nr,
- struct pipe_image_view *pimages)
+ const struct pipe_image_view *pimages)
{
const unsigned end = start + nr;
unsigned mask = 0;
static void
nvc0_set_shader_images(struct pipe_context *pipe, unsigned shader,
unsigned start, unsigned nr,
- struct pipe_image_view *images)
+ const struct pipe_image_view *images)
{
const unsigned s = nvc0_shader_stage(shader);
if (!nvc0_bind_images_range(nvc0_context(pipe), s, start, nr, images))