prog->translated = nvc0_program_translate(
prog, nvc0_context(pipe)->screen->base.device->chipset,
+ nvc0_context(pipe)->screen->base.disk_shader_cache,
&nouveau_context(pipe)->debug);
return (void *)prog;
prog->translated = nvc0_program_translate(
prog, nvc0_context(pipe)->screen->base.device->chipset,
+ nvc0_context(pipe)->screen->base.disk_shader_cache,
&nouveau_context(pipe)->debug);
return (void *)prog;
{
struct nv04_resource *buf = nv04_resource(res);
if (buf) {
- uint64_t limit = (buf->address + buf->base.width0) - 1;
- if (limit < (1ULL << 32)) {
- *phandle = (uint32_t)buf->address;
- } else {
- NOUVEAU_ERR("Cannot map into TGSI_RESOURCE_GLOBAL: "
- "resource not contained within 32-bit address space !\n");
- *phandle = 0;
- }
+ uint64_t address = buf->address + *phandle;
+ /* even though it's a pointer to uint32_t that's fine */
+ memcpy(phandle, &address, 8);
} else {
*phandle = 0;
}