Developing Games & Graphics on Intel
Ask us questions and get answers, tips, tweaks & techniques from product and technology experts.
Announcements
This is a Peer-to-Peer forum only. We apologize for any inconvenience.

Learn more about developing on Intel® Hardware and Software here.
439 Discussions

OpenGL compute shader on HD4600 "Out of resource error."

Ext3h
Beginner
391 Views

 

#version 430 core

// DO NOT CHANGE, must match game internal layout
struct TileData {
	// TF_ flags 0:32
	uint flags;
	// TF_ flags 32:64
	uint flags2;

	// Sprites are all:
	// spriteID=0:16, spriteFlags=16:32
	uint floorSpriteUID ;
	uint wallSpriteUID;
	
	uint itemSpriteUID;
	uint creatureSpriteUID;

	uint jobSpriteFloorUID;
	uint jobSpriteWallUID;

	// fluidLevel=0:8, lightLevel=0:8, vegetationLevel=8:16
	uint packedLevels;
};

struct TileDataUpdate {
	uint id;
	TileData tile;
};

layout(std430, binding = 0) writeonly restrict buffer tileData1
{
	TileData data[];
} tileData;

layout(std430, binding = 1) readonly restrict buffer tileDataUpdate1
{
	TileDataUpdate data[];
} tileDataUpdate;

uniform int uUpdateSize;

layout(local_size_x = 64) in;

void main()
{
	uint id = gl_GlobalInvocationID.x;
	if(id < uUpdateSize)
	{
		TileDataUpdate data = tileDataUpdate.data[id];
		tileData.data[data.id] = data.tile;
	}
}

 

The above shader fails to link with an "Out of resource error." message (and no additional context given) on a HD4600 GPU.

Context information as reported by Intel driver:

 

Intel
4.3.0 - Build 20.19.15.5144
Intel(R) HD Graphics 4600

 

 

The same shader program works on NVidia and AMD GPUs, as well as on newer Intel GPUs.

 

I don't have access to such GPU myself, so I can't even experiment, but looks like a failure the shader compiler.

0 Kudos
2 Replies
Ext3h
Beginner
355 Views

Intel(R) HD Graphics 5500 appears to be affected in the exact same way, a super-not-helpful "Out of resource error." when trying to link the above compute shader.

Ext3h
Beginner
343 Views

Looks like this actually *was* still functional in driver version 20.19.15.4624.

Newer(!) builds 20.19.15.5126 and 20.19.15.5144 are confirmed to be broken.

Reply